web-dev-qa-db-fra.com

Cette version de Microsoft.AspNetCore.All est uniquement compatible avec le framework cible netcoreapp2.1.

Lorsque j'essaie de publier mon application sur le serveur Web après la mise à niveau vers .NET Core 2.1 à partir de la version 2.0, le message suivant s'affiche: "Cette version de Microsoft.AspNetCore.All est uniquement compatible avec le framework cible netcoreapp2.1. Veuillez cibler netcoreapp2. 1 ou choisissez une version de Microsoft.AspNetCore.All compatible avec netcoreapp2.0. "

Cela fonctionne bien sur ma machine de développement.

Voici mon dossier 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 ceci , mais cela ne semble pas être le problème. J'ai également expérimenté la version 2.1 de la version préliminaire de CodeGeneration.Tools, mais je n'ai pas pu l'installer.

EDIT: J'ai installé 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]
47
Jim S

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

< TargetFramework>netcoreapp2.1< /TargetFramework>

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

< DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.1" />

Afficher être supprimé dans la version 2.1 en raison de son obsolète et sont inclus aujourd'hui

72
joakimja

Pour faire suite au message de joakimja, vous pouvez également mettre à jour le fichier .pubxml via l'EDI VS2017. Faites un clic droit sur votre projet et sélectionnez "Publier" puis cliquez sur "Configurer" dans la rangée "Informations de dépannage", puis allez sur l'onglet "Paramètres". Vous pouvez définir ici le "Cadre cible". En fait, cela aurait dû automatiquement mis à jour "netcoreapp2.1" simplement en ouvrant la boîte de dialogue. Cliquez sur "Enregistrer" pour mettre à jour le cadre cible dans le fichier pubxml. Ensuite, essayez de publier à nouveau.

21
Matt
  1. Vous devrez peut-être d'abord nettoyer le projet.
  2. Faites un clic droit sur le fichier de projet dans Visual Studio.
  3. Cliquez sur les propriétés, sélectionnez le menu déroulant Application -> Target Framework et choisissez la version de .Net Core Framework que vous souhaitez utiliser.
  4. Reconstruisez votre solution.
5
Allan F. Gagnon

enter image description here Je suis resté coincé avec ce problème pendant environ 3 heures. Finalement, cette erreur s'est produite lorsque j'ai ajouté un paquet Nuget Microsoft.VisualStudio.Web.CodeGeneration.Design. Voici ce que j'ai fait pour résoudre ce problème:

1) Supprimé le dossier bin de mon projet principal .net

2) A ajouté explicitement la version de dotnet à TargetFramework et à PackageReference à 2.1.0 . Vous pouvez essayer d’ajouter ce qui convient le mieux à votre projet et à la version de Dotnet.

3) J'ai restauré le projet avec dotnet restore puis construit avec dotnet build

4) À la fin, mon problème a été résolu et je ne reçois plus cette erreur.

4
muhammad tayyab

Ce qui m'a aidé, c'est simplement de supprimer le ou les fichiers .pubxml du dossier Propriétés> PublishProfiles, puis de recréer à nouveau le profil de publication.

4
Robert Koch

J'ai rencontré le même problème (erreur) en essayant de déployer ma solution mise à niveau vers AWS Lambda en utilisant:

dotnet lambda deploy-serverless

Il s’est avéré que j’avais oublié de mettre à jour mon fichier aws-lambda-tools-defaults.json.

"framework"     : "netcoreapp2.1",

Ajout pour les autres dans la même situation.

2
TommyN

Je suppose que vous avez tiré toutes les mises à niveau 2.1.x, mais que vous avez initialement démarré votre projet en 2.0.x. Je viens de modifier le fichier cspoj en rétrogradant et en ajoutant:

<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
    <TargetFramework>netcoreapp2</TargetFramework>

</PropertyGroup>


<ItemGroup>             
<PackageReference Include=
"Microsoft.AspNetCore.All" Version="2.0.3" />
<PackageReference Include=
"Microsoft.AspNetCore.Cors" Version="2.0.3" />                  
<PackageReference Include=
"Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.3" />                            
<PackageReference Include=
"Microsoft.EntityFrameworkCore.Tools" Version="2.0.3" PrivateAssets="All" />       
<PackageReference Include=
"Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.4" PrivateAssets="All" />
</ItemGroup>  


<ItemGroup>                      
<DotNetCliToolReferenceInclude=
    "Microsoft.EntityFrameworkCore.Tools.DotNet"Version="2.0.3" />   
<DotNetCliToolReferenceInclude=
    "Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" /> 
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3" />       
</ItemGroup>

Je pense donc que vous manquez le groupe d'items <DotNetCliToolReferenceInclude=>.

2
Mohamoud Mohamed

J'ai essayé la plupart des suggestions que j'ai pu trouver, mais ce qui a fini par résoudre le problème a été de supprimer le paquet Microsoft.AspNetCore.All à partir d'ici:

% userprofile% .nuget\packages\Microsoft.aspnetcore.all\2.1.5\build\netcoreapp2.1 \

La prochaine génération a restauré la version correcte.

0
Zaifworks

Désolé pour la réponse tardive,

J'ai maintenant cette erreur et j'ai trouvé la solution.

Nous devons changer la version de TargetFramework dans PublishProfiles en netcoreapp2.2

<_SavePWD>True</_SavePWD>
<_DestinationType>AzureWebSite</_DestinationType>
<TargetFramework>netcoreapp2.2</TargetFramework>
<SelfContained>false</SelfContained>
<_IsPortable>true</_IsPortable>
0
Ranga Vadhineni