Visual Studio 2017 ne peut pas mettre à jour Microsoft.NETCore.Paquet App ("bloqué par le projet")

j'ai une application dotnet core qui cible Microsoft.NETCore.App 1.1.2. J'ai créé un projet de test pour tester contre ce projet mais en construisant j'ai remarqué cet avertissement: enter image description here

j'ouvre le Gestionnaire de paquets NuGet et je vois que l'avertissement est correct, le projet testé a une version différente de Microsoft.NETCore.App: enter image description here enter image description here

mon problème est que Visual Studio ne me laisse pas mettre à jour cette version, donc je suis confus sur la façon de résoudre ce problème: enter image description here Idéalement, je devrais simplement cliquer sur la liste déroulante et sélectionner la bonne version, mais Visual Studio affirme qu'il ne peut pas le faire en raison de "contraintes supplémentaires dans le projet ou les paquets.config". Comment suis-je censé mettre à jour ce paquet? Quelles sont les "contraintes supplémentaires" de Visual Studio? ?

46
demandé sur riqitang 2017-05-17 16:23:33

6 réponses

le paquet implicite mentionne que le Microsoft.NET.Sdk ne peut pas être mis à jour via NuGet.

si vous avez migré du projet.json, le projet avec le 1.1.0 de référence contient probablement

<RuntimeFrameworkVersion>1.1.0</RuntimeFrameworkVersion>

dans le fichier csproj ou un article comme celui-ci (si vous pouvez utiliser le gestionnaire de paquets précédemment pour définir la version):

<PackageReference Update="Microsoft.NETCore.App" Version="1.1.0" />

supprimer les rubriques comme ci-dessus et tous les colis feront référence à 1.1.2 (ou ce que le SDK installé considère comme le dernier en date) automatiquement. Alernatively, ensemble RuntimeFrameworkVersion dans tous les projets.

39
répondu Martin Ullrich 2017-05-17 18:04:18

j'ai eu le même problème en essayant d'installer Entitefram Framework.Paquet de base dans une application web.Net Core 2. Pour résoudre le problème, J'ai forcé l'installation par L'intermédiaire de la Console Package Manager:

Install-Package Microsoft.NETCore.App -Version 2.0.5

(2.0.5 était la version la plus récente à l'époque)

j'espère que c'est utile. Paix.

33
répondu Marlon Dias 2018-02-18 21:21:42

pour moi ajoutant

<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>

fait le tour

<PropertyGroup>
  <TargetFramework>netcoreapp2.1</TargetFramework>
  <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
  <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
</PropertyGroup>
7
répondu gsharp 2018-08-23 08:44:46

une autre solution possible. Dans le fichier csproj , mettez à jour le framework cible vers la version que vous souhaitez mettre à niveau. Après avoir effectué le changement, comme indiqué ci-dessous, les paquets peuvent être mis à jour via la solution NuGet package manager.

avant:

<PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>

après:

<PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>
1
répondu JTravolta 2018-04-28 15:26:41

Courte Réponse

ajouter une version explicite à la référence de paquet Microsoft.AspNetCore.App dans votre .fichier csproj.

Longue Réponse

j'avais un tout nouveau netcoreapp2.1 projet. Ce qui suit a été dans le .fichier csproj. Remarque Il n'y avait aucune version associée à la référence du paquet Microsoft.AspNetCore.App .

<ItemGroup>
  ...
  <PackageReference Include="Microsoft.AspNetCore.App" />
  ...
</ItemGroup>

j'ai ajouté un référence au paquet Microsoft.Extensions.Logging.Abstractions pour résoudre une inadéquation de dépendance (erreur de compilation). Micorsoft.AspNetCore.App voulait la version 2.1.0 de cette dépendance, mais un autre paquet voulait la version 2.1.1. Mon. le fichier csproj ressemblait maintenant à ceci.

<ItemGroup>
  ...
  <PackageReference Include="Microsoft.AspNetCore.App" />
  <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.1.1" />
  ...
</ItemGroup>

cela a réduit l'erreur de construction à un avertissement sur Micorsoft.AspNetCore.App nécessitant la version 2.1.0 du paquet Microsoft.Extensions.Logging.Abstractions mais la version 2.1.1, bien sûr, a été résolue.

essayer de mettre à jour Micorsoft.AspNetCore.App pour la version 2.1.1 pour corriger l'avertissement a été bloquée par le Gestionnaire de paquets comme indiqué par L'OP.

j'ai mis à jour ma référence de paquet Micorsoft.AspNetCore.App pour utiliser explicitement la version 2.1.1 comme ceci.

<ItemGroup>
  ...
  <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />
  <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="2.1.1" />
  ...
</ItemGroup>

cela a corrigé l'avertissement de construction et débloqué toutes les versions de Microsoft.AspNetCore.App dans le Gestionnaire de paquets. J'ai même pu supprimer la référence explicite à Microsoft.Extensions.Logging.Abstractions sans réintroduire l'erreur originale. Final. csproj ressemblait à ceci sans question.

<ItemGroup>
  ...
  <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.1" />
  ...
</ItemGroup>
1
répondu bugged87 2018-08-09 22:32:38

Je l'ai résolu par simple: Clic droit sur Project (ou ALT+ Enter) - > Properties - > Application - > Target Framework (choisir .net Core framework (dans ce cas 1.1))

-1
répondu harlandgomez 2018-06-09 09:35:07