54 votes

Cette version de Microsoft.AspNetCore.All n'est compatible qu'avec le cadre cible netcoreapp2.1

Lorsque je tente de publier mon application sur le serveur web après la mise à jour .NET de Base 2.1 à partir de la 2.0, j'obtiens ce message: "Cette version de Microsoft.AspNetCore.Tout n'est compatible qu'avec la netcoreapp2.1 framework cible. Veuillez cible netcoreapp2.1, ou choisir une version de Microsoft.AspNetCore.Tous compatibles avec netcoreapp2.0."

Il tourne très bien sur ma machine de développement.

Voici mon fichier de projet:

<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <RunPostBuildEvent>Always</RunPostBuildEvent>
</PropertyGroup>
<ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.0" />
    <PackageReference Include="Microsoft.AspNetCore.Cors" Version="2.1.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.0" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.0" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" />
</ItemGroup>
</Project>

J'ai vu cela, mais il ne semble pas être le problème. J'ai également expérimenté avec la version 2.1 version de CodeGeneration.Les outils, mais je n'étais pas capable de l'installer.

EDIT: j'ai fait installer dotnet 2.1 sur le serveur.

Voici ce que je vois sur le serveur:

D:\>dotnet --info
Host (useful for support):
  Version: 2.1.0
  Commit:  caa7b7e2ba

.NET Core SDKs installed:
  No SDKs were found.

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.0 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.0 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.0.5 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.0.6 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.0 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]

85voto

joakimja Points 1024

J'ai eu le même problème, mais alors je n'avais pas mis à jour le fichier de profil de publication (.pubxml) pour le bon targetenvironment

Et en ce qui concerne la réponse plus tôt la ligne

Afficher être supprimé en version 2.1 en raison de l'obsolète et sont inclus de nos jours

23voto

Matt Points 589

Pour suivre le post de joakimja, vous pouvez également mettre à jour le fichier .pubxml via le VS2017 IDE. Cliquez à droite sur votre projet et sélectionnez "publier" puis cliquez sur "configurer" sur la ligne "trouble shooting info", puis allez à l'onglet "paramètres", ici vous pouvez définir le "Cadre cible" - en fait, cela devrait avoir automatiquement mis à jour à "netcoreapp2.1" juste en ouvrant le dialogue. Cliquez sur "Enregistrer" et cela mettra à jour le cadre cible dans le fichier pubxml. Ensuite, essayez de publier à nouveau.

7voto

Allan F. Gagnon Points 112
<ol> <li>Vous avez peut-être besoin de faire propre sur le projet d'abord.</li> <li>Cliquez à droite sur le fichier de projet dans Visual Studio.</li> <li>Cliquez sur les propriétés sélectionnez l'application -Cadre cible déposer et choisir la version de .Net Core Framework que vous souhaitez utiliser.</li> <li>Reconstruisez votre solution.</li> </ol>

5voto

rob Points 519

Ce qui m'a aidé est juste de supprimer le fichier .pubxml (s) sous le dossier Propriétés - PublishProfiles, puis recréer le profil de publication à nouveau.

4voto

muhammad tayyab Points 195

enter image description hereJ'ai été bloqué avec ce problème pendant environ 3 heures. Finalement, cette erreur est survenu lorsque j'ai ajouté un package Nuget Microsoft.VisualStudio.Web.CodeGeneration.Design. C'est ce que j'ai fait pour résoudre ce problème:

1) Supprimés de la corbeille le dossier de mon .net de base du projet

2) Explicitement ajouté la dotnet version de TargetFramework et PackageReference à 2.1.0. Vous pouvez essayer d'ajouter ce qui est le mieux pour votre projet et dotnet version.

3) j'ai restauré le projet avec dotnet restore puis de créer, avec dotnet build

4) a la fin, mon problème a été résolu et je n'ai plus cette erreur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X