it-swarm.com.de

Warnung zum Herabstufen des Pakets erkannt (dotnet core vs 2017)

Ich habe gerade alle meine Nuget-Pakete für meine Lösung (Dotnet Core 1.1-Projekt) aktualisiert.

Ich bekomme jetzt die folgenden Warnungen und weiß nicht wirklich, was sie bedeuten.

 NETStandard.Library downgrade warning


Update: Ich bekomme oben immer noch Warnungen. Meine Webprojekte warnen vor dem Microsoft.NETCore.App-Paket (siehe Abbildung unten) und meine Lib-Projekte warnen vor NETStandard.Library (siehe Abbildung oben).

 Microsoft.NETCore.App downgrade warning

Beim Versuch, Microsoft.NETCore.App im NuGet-Paketmanager zu aktualisieren, erhalte ich die folgende Fehlermeldung:

 NuGet upgrade error

Ich hoffe, jemand kann mir helfen, diese Warnungen loszuwerden und alles so einzurichten, wie es sein soll, damit ich alle meine Pakete aktualisieren kann.

Danke im Voraus!

36
Nik

Wie oben beschrieben, besteht die Arbeitslösung darin, die folgende Zeile aus Ihrer csproj-Datei zu entfernen.

Web App-Projekt:

<RuntimeFrameworkVersion>1.0.4</RuntimeFrameworkVersion>

Lib Projekt:

<NetStandardImplicitPackageVersion>1.6.0</NetStandardImplicitPackageVersion>
19
Nik

In meinem Fall wurde keine dieser Eigenschaften in meinen csproj-Dateien festgelegt.

Ich musste VS mitteilen, diese Pakete über NuGet zu aktualisieren.

Die Warnungen sind für mich nach dem Auflösen der Warnung zum expliziten Verweis auf die implizite Abhängigkeit .NETCore.App nach dem Wechsel von 1.0 auf 1.1 aufgetreten.

UPDATE 21/09/17

Dies scheint auch Upgrades auf 2.0 zu betreffen, die Auflösung ist die gleiche. Aktualisieren Sie diese Pakete manuell mit NuGet. Vielen Dank an IbrarMumtaz für diesen Hinweis!

14

Diese Situation trat für mich nach dem Öffnen einer vorhandenen Lösung auf, aber anstelle von Warnungen handelte es sich um Fehler.

Ich habe die Datei YourAwesomeApp.csproj geöffnet, die Fehler "Erkanntes Paket-Downgrade" nacheinander durchlaufen und die Version dieser Werbebuchung manuell von der vorhandenen Version in die angegebene Version geändert, die im Fehler selbst angezeigt wurde.

Wenn der Fehler beispielsweise sagt, dass Downgrade "SqlServer 1.0.4 -> 1.0.3" festgestellt hat, suchen Sie die Zeile für das Paket SqlServer und bearbeiten Sie die Version von 1.0.3 in 1.0.4.

Diese Fehler sollten nach dem Erstellen des Projekts verschwinden. 

Der Nachteil ist, dass ich dieses Mal nur 5 Fehler hatte, aber wenn das Projekt eines anderen enthalten wäre, sagen Sie 50 solcher Fehler. Dann wäre die Aufgabe dieser Person, diese Zeilen manuell zu bearbeiten, sehr langwierig und zeitaufwändig.

13
Jimmy Shaw

Ich konnte diese Warnungen in meinem Projekt beseitigen, indem ich das <NetStandardImplicitPackageVersion>-Element aus der csproj-Datei entfernte.

Es gibt einige Informationen in diesem Artikel über implizite Metapakete, die anscheinend die Hauptursache dieses Problems sind.

Möglicherweise müssen Sie auch einige Abhängigkeiten aktualisieren. Zum Beispiel musste ich BenchmarkDotNet von 0.10.1 auf 0.10.3 aktualisieren, um einige Warnungen wie die, die Sie sehen, loszuwerden.

10
Drew Noakes

Ich konnte einen Fehler wie diesen durch das Hinzufügen von NoWarn in cproj beheben

<Project Sdk="Microsoft.NET.Sdk">

 <PropertyGroup>
    <NoWarn>$(NoWarn);NU1605</NoWarn>
  </PropertyGroup>

...
</Project>

Sie können es möglicherweise nur vorübergehend während eines Upgrade mehrerer Pakete hinzufügen und es später entfernen.

8
mrapi

Versuchen Sie zu entfernen :

<IsPackable>false</IsPackable>

aus Ihrer Projektdatei - das hat bei mir funktioniert!

Wenn Sie noch den Code NU1605 Error haben, können Sie ihn ignorieren, indem Sie Ihrer Projektdatei Folgendes hinzufügen:

<PropertyGroup>
    <NoWarn>NU1605</NoWarn>
</PropertyGroup>
3
Emil

Dies ist in der Regel der Fall, weil für das Element, das Sie installieren möchten, eine aktuellere Version einer Unterabhängigkeit erforderlich ist, als Sie bereits in Ihrem Projekt enthalten sind.

Die Lösung besteht darin, die vorhandene Abhängigkeit in Ihrem Projekt vor der Installation des Pakets zu aktualisieren oder zu löschen.

Beispiel:

Paket-Downgrade festgestellt: Newtonsoft.Json von 9.0.0 auf 8.0.0.

Dies bedeutet Sie haben Newtonsoft.Json 8.0.0 bereits als Abhängigkeit in Ihrem Projekt aufgeführt, aber das Paket, das Sie installieren möchten, erfordert mindestens Version 9.0.0 als Abhängigkeit.

Das liegt daran Visual Studio aktualisiert diese Abhängigkeit nicht automatisch, da Sie eine explizite Version für Ihr Projekt angegeben haben. Sie können entweder die Abhängigkeit in Ihrem Projekt auf die erforderliche Mindestversion aktualisieren oder sie aus Ihrem Projekt entfernen und das Paket, das Sie installieren, damit beauftragen.

m dies zu beheben In unserem obigen Beispiel würde dies bedeuten, dass Sie 'Newtonsoft.Json 8.0.0' suchen und auf Version '9.0.0' aktualisieren oder es einfach aus Ihrem Projekt entfernen, bevor Sie Ihr Paket installieren .

2

Versuchen Sie es mit NuGet

Ich habe bekommen:

fehler NU1605: Paket-Downgrade festgestellt: System.Net.NameResolution von 4.3.0 auf 4.0.0. Verweisen Sie auf das Paket direkt aus dem Projekt, um eine andere Version auszuwählen.

Also habe ich auf das Paketverzeichnis verwiesen (im Projektordner):

dotnet add package System.Net.NameResolution

Siehe NuGet-Fehler - NU1605

Problem:

Ein Abhängigkeitspaket gab eine Versionseinschränkung für eine höhere Version eines Pakets an, als die Wiederherstellung letztendlich aufgelöst wurde. Das heißt, aufgrund der "Nearest Wins" -Regel beim Auflösen von Paketen kann ein näheres Paket in der Grafik ein entferntes Paket überschrieben haben.

Lösung:

Fügen Sie dem Projekt eine direkte Referenz für die höhere Version des Pakets hinzu, das Sie verwenden möchten.

2
Robert Brooker

In meinem Fall bezog sich dieser Fehler nicht auf .NET Core, sondern auf .NET Standard.

Ich hatte zwei Bibliotheken A und B. Bibliothek A hing von etwas Nuget-Paket X ab, und Bibliothek B war von A abhängig. Nachdem ich X auf eine neue Version aktualisiert hatte, begann es irgendwie abhängig von einer neuen Version des NETStandard.Library-Nuget-Pakets (von 2.0.2 bis 2.0.3), was den Build von B mit dem Fehler Detected package downgrade: NETStandard.Library from 2.0.3 to 2.0.2. Reference the package directly from the project to select a different version brach.

Sobald ich das NETStandard.Library-Nuget-Paket als Abhängigkeit zu B hinzugefügt habe (offensichtlich die neueste Version 2.0.3), wurde der Fehler behoben, selbst wenn eine neue Warnung angezeigt wurde: 

/usr/local/share/dotnet/sdk/2.1.403/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Sdk.DefaultItems.targets (5,5): Warnung NETSDK1023: Eine PackageReference für 'NETStandard.Library' war in Ihrem Projekt enthalten. Dieses Paket wird implizit von der .__ referenziert. .NET SDK, und Sie müssen normalerweise nicht von Ihrem .__ aus darauf verweisen. Projekt. Weitere Informationen finden Sie unter https://aka.ms/sdkimplicitrefs (NETSDK1023) (GWallet.Frontend.XF)

1
knocte

Durch das manuelle Entfernen der Abhängigkeiten der Nuget-Pakete aus dem Projekt und dem Install-Package für jedes einzelne wurde das Problem in meinem Fall behoben.

1
Max Favilli

Ich könnte das Problem lösen, indem ich eine frühere Version des Pakets herunterlade, die das Problem verursacht. Dies scheint darauf zurückzuführen zu sein, dass eine nicht installierte .NET-Standardversion davon abhängig ist. Dies sollte auch durch die Aktualisierung von Visual Studio gelöst werden.

0
mshwf

Ich bin erst kürzlich auf dieses Problem gestoßen und die Aktualisierung der NuGet-Pakete hat mir gut getan.

0
combatc2

Ich habe versucht, Microsoft.AspNetcore.MVC auf Version 2+ zu aktualisieren. Die Lösung für mich war, alle anderen Abhängigkeiten zuerst auf 2+ zu aktualisieren und dann .MVC zu aktualisieren.

0
Eric