Ich habe gerade alle meine Nuget-Pakete für meine Lösung aktualisiert (Dotnet Core 1.1-Projekt).
Ich erhalte jetzt die folgenden Warnungen und weiß nicht wirklich, was sie bedeuten.
Update: Ich erhalte immer noch die oben genannten Warnungen. Meine Webprojekte warnen vor dem Microsoft.NETCore.App-Paket (siehe Abbildung unten) und meine lib-Projekte warnen vor NETStandard.Library (siehe Abbildung oben).
Beim Versuch, Microsoft.NETCore.App im NuGet-Paketmanager zu aktualisieren, wird folgende Fehlermeldung angezeigt:
Ich hoffe, jemand kann mir helfen, diese Warnungen loszuwerden und alles einzurichten, was es sein soll, damit ich alle meine Pakete aktualisieren kann.
Antworten:
Diese Situation kam mir nach dem Öffnen einer vorhandenen Lösung in den Sinn, aber anstelle von Warnungen handelte es sich um Fehler.
Ich habe die Datei YourAwesomeApp.csproj geöffnet und die Fehler "Herabgestuftes Paket erkannt" nacheinander durchgesehen 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 besagt, dass ein Downgrade "SqlServer 1.0.4 -> 1.0.3" erkannt hat, suchen Sie die Zeile für das Paket SqlServer und bearbeiten Sie die Version von 1.0.3 auf 1.0.4.
Diese Fehler sollten nach dem Erstellen des Projekts verschwinden.
Der Nachteil dabei, dass ich diesmal nur 5 Fehler hatte, aber was ist, wenn das Projekt einer anderen Person etwa 50 solcher Fehler enthielt? Dann wäre die Aufgabe dieser Person, diese Zeilen manuell zu bearbeiten, sehr mühsam und zeitaufwändig.
quelle
dotnet restore
Projekt zum fehlgeschlagenen Erstellen durchgeführt habe.Gemäß der obigen Antwort 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>
quelle
Dies geschieht im Allgemeinen, weil für das Element, das Sie installieren möchten, eine neuere Version einer Unterabhängigkeit erforderlich ist, als Sie bereits in Ihr Projekt aufgenommen haben.
Die Lösung besteht darin, die vorhandene Abhängigkeit in Ihrem Projekt vor der Installation des Pakets zu aktualisieren oder zu löschen.
Beispiel:
Dies bedeutet , dass Newtonsoft.Json 8.0.0 bereits als Abhängigkeit in Ihrem Projekt aufgeführt ist. Für das zu installierende Paket ist jedoch mindestens Version 9.0.0 als Abhängigkeit erforderlich.
Das ist weil Visual Studio diese Abhängigkeit nicht automatisch aktualisiert, da Sie eine explizite Version für Ihr Projekt angegeben haben. Sie können entweder die Abhängigkeit in Ihrem Projekt auf die minimal erforderliche Version aktualisieren oder sie aus Ihrem Projekt entfernen und das von Ihnen installierte Paket damit umgehen lassen.
Um dies zu beheben, bedeutet dies in unserem obigen Beispiel, 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.
quelle
In meinem Fall wurde keine dieser Eigenschaften in meinen csproj-Dateien festgelegt.
Ich musste VS anweisen, diese Pakete über NuGet zu aktualisieren.
Die Warnungen wurden für mich angezeigt, nachdem die Warnung für den expliziten Verweis auf die implizite Abhängigkeit .NETCore.App nach dem Wechsel von 1.0 auf 1.1 aufgelöst wurde.
UPDATE 21/09/17
Dies scheint sich auch auf Upgrades auf 2.0 auszuwirken, die Auflösung ist gleich. Aktualisieren Sie diese Pakete manuell mit NuGet. Vielen Dank an IbrarMumtaz für diesen Hinweis!
quelle
Ich konnte einen solchen Fehler beheben, indem ich NoWarn in cproj hinzufügte
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <NoWarn>$(NoWarn);NU1605</NoWarn> </PropertyGroup> ... </Project>
Möglicherweise möchten Sie es nur vorübergehend während eines Upgrades mehrerer Pakete hinzufügen und später entfernen.
quelle
Ich konnte diese Warnungen in meinem Projekt entfernen, indem ich das
<NetStandardImplicitPackageVersion>
Element aus dercsproj
Datei entfernte.In diesem Artikel finden Sie einige Informationen zu impliziten Metapaketen, die die Hauptursache für dieses Problem zu sein scheinen.
Möglicherweise müssen Sie auch einige Abhängigkeiten aktualisieren. Zum Beispiel musste ich ein Upgrade
BenchmarkDotNet
von0.10.1
auf durchführen0.10.3
, um einige Warnungen wie die, die Sie sehen, zu entfernen.quelle
Versuchen Sie zu entfernen :
<IsPackable>false</IsPackable>
aus Ihrer Projektdatei - das hat bei mir funktioniert!
Wenn Sie immer noch
NU1605
Fehlercode haben, können Sie diesen ignorieren, indem Sie Ihrer Projektdatei Folgendes hinzufügen:<PropertyGroup> <NoWarn>NU1605</NoWarn> </PropertyGroup>
quelle
Versuchen Sie es mit NuGet
Ich bekam:
Also habe ich das Paketverzeichnis durch Ausführen (im Projektordner) referenziert:
dotnet add package System.Net.NameResolution
Siehe NuGet-Fehler - NU1605
Problem:
Lösung:
quelle
Das manuelle Entfernen der Nuget-Paketabhängigkeiten aus dem Projekt und dem Install-Package für jedes von ihnen hat das Problem in meinem Fall behoben.
quelle
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 einem Nuget-Paket X ab, und Bibliothek B hing von A ab. 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), wodurch der Build von B mit dem Fehler unterbrochen wurde
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
.Nachdem ich das NETStandard.Library-Nuget-Paket als Abhängigkeit von B hinzugefügt hatte (offensichtlich auf die neueste Version 2.0.3 ausgerichtet), verschwand der Fehler, selbst wenn eine neue Warnung angezeigt wurde:
quelle
Ich habe versucht, Microsoft.AspNetcore.MVC auf Version 2+ zu aktualisieren. Die Lösung für mich bestand darin, alle anderen Abhängigkeiten zuerst auf 2+ zu aktualisieren und schließlich .MVC zu aktualisieren.
quelle
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 abhängig von einer nicht installierten .NET Standard-Version dies auch durch Aktualisieren von Visual Studio behoben werden sollte.
quelle
Wenn Sie diesen Fehler für
Razor
in a erhaltennetcoreapp3.1
, müssen Sie nur das Projekt-SDK vonMicrosoft.NET.Sdk.Razor
auf ändernMicrosoft.NET.Sdk
.quelle
csproj
mit F4 und ersetzen Sie den TextIch hatte ein ähnliches Problem, bei dem mein Projekt eine Paketreferenz wie die folgende hatte:
Paketreferenzen:
Package A Package B Package A
Da Projekt B auf Paket A verweist, habe ich gerade Paket A aus der Liste der Hauptpakete gelöscht und Paket B auf Paket A verweisen lassen. Ich habe die Lösung neu erstellt und das Problem war behoben.
quelle
Ich bin erst kürzlich auf dieses Problem gestoßen, und die Aktualisierung der NuGet-Pakete hat bei mir funktioniert.
quelle
Versuchen Sie daher, das Paket vollständig zu deinstallieren und erneut zu installieren. Stellen Sie sicher, dass Sie dies für alle Lösungsprojekte tun, auf die verwiesen wird. dann einfach reinigen und wieder aufbauen. das hat bei mir funktioniert.
quelle
Das Problem für mich war, dass ich lokal Pakete installiert hatte, die höhere Versionen hatten als meine Projekte, auf die verwiesen wurde. Wenn Sie zu Tools > NuGet Package Manager gehen > Package Manager-Einstellungen > Allgemein > Alle NuGet-Caches löschen gehen und dann Ihre Lösung neu erstellen, werden die referenzierten Pakete installiert und die Fehler werden behoben.
quelle
Für mich wurde dies dadurch verursacht, dass auf ein Projekt mit einer bestimmten Version von Microsoft.AspNetCore.App verwiesen wurde, bei der mein Projekt nicht:
Mein Projekt :
<ItemGroup> <PackageReference Include="Microsoft.AspNetCore.App"/> </ItemGroup>
referenziertes Projekt:
<ItemGroup> <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.2" /> </ItemGroup>
Fix (Mein Projekt):
<ItemGroup> <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.2" /> </ItemGroup>
quelle
Ich habe dieses Problem dank dieser Antwort gelöst . Fügen Sie einfach die folgende Zeile in die
<PropertyGroup>
Tags in Ihrer.csproj
Datei ein:<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
quelle