Alerte de dégradation de paquet détectée (dotnet core, vs 2017)
je viens de mettre à jour tous mes paquets nuget pour ma solution (dotnet core 1.1 project).
je reçois maintenant les avertissements suivants et je ne sais pas vraiment ce qu'ils signifient.
mise à Jour: je reçois toujours les Avertissements mentionnés ci-dessus. Mes projets Web mettent en garde contre Microsoft.NETCore.Le paquet App (Voir la capture d'écran ci-dessous) et mes projets lib mettent en garde contre NETStandard.Bibliothèque (voir la capture d'écran ci-dessus)
lors de la mise à jour de Microsoft.NETCore.Application dans le gestionnaire de package NuGet, j'obtiens l'erreur suivante:
J'espère que quelqu'un pourra m'aider à me débarrasser de ces avertissements et à configurer tout ce qu'il est censé être, afin que je puisse mettre à jour tous mes paquets.
Merci d'avance!
12 réponses
Web Application project:
<RuntimeFrameworkVersion>1.0.4</RuntimeFrameworkVersion>
Lib projet:
<NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>
dans mon cas, aucune de ces propriétés n'a été définie dans Mes fichiers csproj.
J'ai dû dire à VS de mettre à jour ces paquets via NuGet.
les avertissements sont apparus pour moi après avoir résolu l'avertissement pour référence explicite à la dépendance implicite .NETCore.App après le passage de 1.0 à 1.1.
UPDATE 21/09/17
cela semble aussi affecter les mises à niveau vers 2.0, la résolution est la même. Mettez ces paquets à jour manuellement avec NuGet. Merci à IbrarMumtaz pour avoir pointé ça!
j'ai pu me débarrasser de ces avertissements dans mon projet en enlevant le <NetStandardImplicitPackageVersion>
élément csproj
fichier.
There is some information dans cet article sur les métapaquets implicites, qui semblent être à l'origine de ce problème.
Vous pourriez aussi avoir besoin de mettre à jour certaines dépendances. Par exemple, j'ai dû mettre à jour BenchmarkDotNet
0.10.1
0.10.3
pour se débarrasser de quelques avertissements comme ceux que vous voyez.
cette situation m'est apparue après l'ouverture d'une solution existante mais au lieu d'Avertissements, il s'agissait d'erreurs.
j'ai ouvert le YourAwesomeApp.csproj file et a passé en revue les erreurs" Detected package downgrade " une par une et a modifié manuellement la version de cet élément de la version existante à la version spécifiée qui était affichée dans l'erreur elle-même.
par exemple, si l'erreur dit "downgrade detected" SqlServer 1.0.4 - > 1.0.3 " alors trouver la ligne pour empaqueter SqlServer et éditer la version de 1.0.3 à 1.0.4.
Ces erreurs devraient disparaître après la construction du projet.
l'inconvénient de ceci que je n'ai eu que 5 Erreurs cette fois mais que se passe-t-il si le projet d'une autre personne contenait 50 telles erreurs. Alors la tâche de cette personne d'éditer manuellement ces lignes serait très fastidieuse et fastidieuse.
j'ai pu corriger une erreur comme celle d'ajouter NoWarn dans cproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<NoWarn>$(NoWarn);NU1605</NoWarn>
</PropertyGroup>
...
</Project>
Vous pouvez vouloir l'ajouter seulement temporairement pendant la mise à niveau de plusieurs paquets et le supprimer plus tard.
j'ai récemment rencontré ce problème et mettre à jour les paquets NuGet a été ce qui a fonctionné pour moi.
supprimer manuellement les dépendances des paquets nuget du projet et installer-Package pour chacun d'eux a résolu le problème dans mon cas.
Essayez de supprimer:
<IsPackable>false</IsPackable>
à partir de votre fichier de projet - c'est ce qui a fonctionné pour moi!
Si vous êtes toujours à gauche avec NU1605
code d'Erreur, vous pouvez l'ignorer en ajoutant les lignes suivantes à votre fichier de projet:
<PropertyGroup>
<NoWarn>NU1605</NoWarn>
</PropertyGroup>
Essayez d'utiliser NuGet
j'ai été faire:
error NU1605: Detected package downgrade: System.Net.NameResolution from 4.3.0 to 4.0.0. Reference the packagedirectly from the project to select a different version.
alors j'ai référencé le répertoire de paquets en lançant (dans le dossier du projet):
dotnet add package System.Net.NameResolution
Voir NuGet Errors-NU1605
Question:
un paquet de dépendances spécifie une contrainte de version sur une version plus élevée d'un paquet que la restauration est finalement résolue. C'est à cause de la "plus proche gagne" règle lors de la résolution des paquets, plus proche paquet dans le graphique peut avoir dépassé un paquet distant.
Solution:
ajouter une référence directe au projet pour la version supérieure du paquet que vous voulez utiliser.
j'essayais de mettre à jour Microsoft.AspNetcore.MVC à la Version 2+. La solution pour moi était de mettre à jour toutes les autres dépendances d'abord à 2+, puis finalement à la mise à niveau .MVC.
je pourrais résoudre le problème en téléchargeant la version antérieure du paquet à l'origine du problème, qui semble être causé par le fait de dépendre d'une version Standard de .NET qui n'est pas installée, cela devrait aussi être résolu en mettant à jour Visual Studio.
j'ai résolu ce problème grâce à cette réponse. Fondamentalement, il suffit d'ajouter la ligne suivante à l'intérieur du <PropertyGroup>
balises dans votre .csproj
fichier:
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>