Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn ein PackageReference oder eine Paketabhängigkeit eine nicht vorhandene Paketversion anfordert, sucht NuGet-Restore nach der niedrigsten Version, die höher ist als die angeforderte Version. Beim NuGet-Restore werden die Versionen im globalen Paketordner bei dieser Suche nicht mehr berücksichtigt.
Eingeführt in Version
.NET 11 RC 1
Bisheriges Verhalten
Wenn die wiederherstellung die angeforderte Version nicht finden konnte, durchsuchte sie sowohl die Paketquellen als auch den globalen Paketordner nach der "nächsten besten" Version, d. h. die niedrigste Version, die höher als die angeforderte Version ist. Die Wiederherstellung hat diese Version ausgewählt und eine Warnung vom Typ NU1603 ausgelöst. Wenn keine höhere Version gefunden wurde, meldete die Wiederherstellung einen NU1102-Fehler.
| Paketquelle | Ordner für globale Pakete | Angeforderte Version | Version ausgewählt | Ergebnis wiederherstellen |
|---|---|---|---|---|
| 1.0.0, 2.0.0 | 1.5.0 | 1.1.0 | 1.5.0 | NU1603-Warnung |
| 1.0.0 | 1.5.0 | 1.1.0 | 1.5.0 | NU1603-Warnung |
Neues Verhalten
Ab .NET 11 durchsucht die Wiederherstellung nur die Paketquellen nach der „nächstbesten“ Version. Da der globale Paketordner von der Suche ausgeschlossen ist, kann die Wiederherstellung eine höhere Version als zuvor auswählen oder einen NU1102-Fehler verursachen, wenn keine Paketquelle eine höhere Version aufweist.
| Paketquelle | Ordner für globale Pakete | Angeforderte Version | Version ausgewählt | Ergebnis wiederherstellen |
|---|---|---|---|---|
| 1.0.0, 2.0.0 | 1.5.0 | 1.1.0 | 2.0.0 | NU1603-Warnung |
| 1.0.0 | 1.5.0 | 1.1.0 | n. z. | NU1102-Fehler |
Wenn der globale Paketordner die genaue angeforderte Version enthält, verwendet die Wiederherstellung diese Version, auch wenn keine Paketquelle über diese Version verfügt. Dieses Verhalten hat sich nicht geändert.
Art der einschneidenden Änderung
Diese Änderung kann sich auf die Quellkompatibilität auswirken.
Grund für die Änderung
Die Wiederherstellung ist jetzt deterministischer und wiederholbarer. Aus Leistungsgründen überprüft NuGet nicht, dass Pakete im globalen Paketordner den Paketen in den Paketquellen entsprechen. Wiederherstellen wählt jetzt jedoch dieselbe Paketversion auf verschiedenen Computern aus, auf denen der ordner "globale Pakete" möglicherweise unterschiedliche Versionen enthält.
Empfohlene Maßnahme
Verweisen Sie nur auf Paketversionen, die in Ihren Paketquellen vorhanden sind. Diese Vorgehensweise stellt sicher, dass sich die während der Wiederherstellung ausgewählte Version im Laufe der Zeit nicht ändert, wenn neue Versionen in den Paketquellen veröffentlicht werden.
Weitere Informationen finden Sie unter Bewährte Methoden für eine sichere Software-Lieferkette.
Betroffene APIs
None.