wake-up-neo.com

Erkanntes Paket-Downgrade: Microsoft.NETCore.App von 2.1.3 auf 2.1.0

Ich versuche, meine .NET-Lösung von .NET Core 1.1 auf .NET Core 2.1 zu aktualisieren. Ich habe mehrere .NET Core- und .NET-Standardprojekte, die sich auf ein anderes NuGet-Paket beziehen. Nach dem Update funktionieren die Befehle 'dotnet resore' und 'dotnet build' einwandfrei, aber wenn ich versuche, meine Lösung aus Visual Studio zu erstellen, erhalte ich diesen Fehler:

Fehler NU1605 Gefundenes Paket-Downgrade: Microsoft.NETCore.App von 2.1.3 auf 2.1.0. Verweisen Sie das Paket direkt aus dem Projekt, um eine andere Version auszuwählen. 

Und ich sehe, dass einige meiner Projekte SDK-Verweise auf Microsoft.NETCore.App v2.1.0 und einige v.2.1.3 haben. Das Festlegen von RuntimeFrameworkVersion und das explizite Hinzufügen dieses Pakets zu Abhängigkeiten funktioniert nicht.

Wie kann ich damit umgehen?

UPD: Dotnet --info:

.NET Core SDK (reflecting any global.json):  Version:   2.1.401  Commit:    91b1c13032

Runtime Environment:  OS Name:     Windows  OS Version:  10.0.17134  OS Platform: Windows  RID:         win10-x64  Base Path:   C:\Program Files\dotnet\sdk\2.1.401\

Host (useful for support):   Version: 2.1.3   Commit:  124038c13e

.NET Core SDKs installed:
  1.1.10 [C:\Program Files\dotnet\sdk]
  2.0.0 [C:\Program Files\dotnet\sdk]
  2.1.4 [C:\Program Files\dotnet\sdk]
  2.1.100 [C:\Program Files\dotnet\sdk]
  2.1.202 [C:\Program Files\dotnet\sdk]
  2.1.400 [C:\Program Files\dotnet\sdk]
  2.1.401 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:   Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]   Microsoft.AspNetCore.All 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]   Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]   Microsoft.AspNetCore.App 2.1.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]   Microsoft.NETCore.App
1.0.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]   Microsoft.NETCore.App 1.1.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]   Microsoft.NETCore.App
2.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]   Microsoft.NETCore.App 2.0.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]   Microsoft.NETCore.App
2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]   Microsoft.NETCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]   Microsoft.NETCore.App
2.1.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:   https://aka.ms/dotnet-download

UPD: Irgendwie verschwindet das Problem, wenn ich diese Zeile aus der .csproj-Datei entferne:

<RuntimeIdentifier>win7-x64</RuntimeIdentifier>

Kann es verwandt sein?

14
ant

Ich hatte ein ähnliches Problem mit dir. Ich konnte mein Projekt nicht veröffentlichen, wenn ich eine Laufzeitkennung angegeben habe. 

Die Lösung, die ich zu bearbeiten bekam, war, dem * .csproj folgende Zeile hinzuzufügen

<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>

Nachdem diese Zeile hinzugefügt wurde, wurde das Projekt korrekt veröffentlicht.

Der folgende Link verweist auf ein Downgrade-Problem zwischen 2.1.1 und 2.1.0, die Lösung funktionierte jedoch genauso.

https://github.com/dotnet/cli/issues/9624

20
Soul3lade

Nachdem ich .net Core SDK auf meinem Windows-Computer von .net Core 2.1.0 auf .net Core 2.2.0 aktualisiert hatte, hatte ich dasselbe Problem. Ich konnte das Projekt nicht erstellen, und es wurde ein Fehler beim Erkennen des Builds bei erkanntem Paket-Downgrade: Microsoft.AspNetCore.Razor.Design von 2.2.0 auf 2.1.0 angezeigt. 

Ich habe dieses Problem durch Aktualisieren eines Nuget-Pakets für Microsoft.AspNetCore.Razor.Design behoben 

1
Niraj Trivedi

Ich hatte auch dieses Problem. Was letztendlich für mich behoben wurde, war die Deinstallation des .NET SDK 2.1.3 über die Systemsteuerung "Programme". Oder ich musste grundsätzlich alle späteren Versionen der zugehörigen SDK-Bibliotheken deinstallieren, die mein Projekt verwenden wollte.

1
sean

Meine Version dieses Problems (glaube ich) wurde durch eine Kombination von aktuellen .NET Core-Versionen verursacht, die auf einem Jenkins-Buildserver zusammen mit einem Unit-Test-Projekt mit mehrdeutigen Referenzen installiert wurden.

Ich verstehe, dass dotnet in einer idealen Welt keine Version erwartet, die im csproj für AspNetCore angegeben ist. Dies bietet maximale Flexibilität während des Builds:

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

Auf dem Build-Server wurde jedoch beim Kompilieren des Hauptprojekts (zuerst) 2.1.6 als AspNetCore-Version verwendet. Anschließend wird versucht, das Testprojekt zu kompilieren, und dieses Projekt hatte eine Mindestversion von "2.1.1". Daher versucht der Build-Prozess, ein Downgrade durchzuführen, und bricht den Build dann als fehlgeschlagen ab.

Ich habe die Mindestversion "2.1.1" aus dem Testprojekt entfernt, aber dann wurde das Testprojekt nicht lokal erstellt, da es die Abhängigkeiten nicht eindeutig auflösen konnte. Nach einer Reihe von Upgrades/Downgrades des NuGet-Pakets macht es keinen Spaß, eine "2.1.6" -Mindestversion zu erzwingen, also auf den Build-Server ausrichten.

Dies konnte immer noch nicht alle Abhängigkeiten lokal korrekt auflösen und führte schließlich auch dazu, dass die Mindestversion für NetCore erzwungen wurde:

<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.6" />
<PackageReference Include="Microsoft.NetCore.App" Version="2.1.6" />

Alles jetzt lokal und auf dem Jenkins Build Server!

1
From Orbonia

Ich hatte eine fehlende Version in der Csproj-Datei.

Durch das Hinzufügen der Version wurde das Problem behoben.

 enter image description here

0
nick-s