Freigeben über


PackageReference ohne Version löst einen Fehler aus.

Ab .NET 10 löst NuGet einen NU1015 Fehler aus, wenn ein PackageReference Element keine Version angegeben hat, statt der vorherigen NU1604 Warnung.

Es gibt keine Änderung bei der Verwendung der zentralen Paketverwaltung, da das PackageReference-XML laut Design in diesem Szenario keine Version aufweisen sollte.

Eingeführt in Version

.NET 10

Vorheriges Verhalten

Zuvor hat NuGet eine NU1604-Warnung mit dem folgenden Text ausgelöst:

Die Projektabhängigkeit ‚PackageA‘ enthält keine inklusive Untergrenze. Schließen Sie eine Untergrenze in die Abhängigkeitsversion ein, um konsistente Wiederherstellungsergebnisse zu erzielen.)

Neues Verhalten

Ab .NET 10 löst NuGet einen NU1015-Fehler mit dem folgenden Text aus:

Die folgenden PackageReference-Elemente haben keine angegebene Version: PackageA

Art der einschneidenden Änderung

Dies ist eine Verhaltensänderung.

Grund für Änderung

Die Meldung "Keine untere Grenze" war verwirrend, und es war unklar, wie das Problem behoben werden kann. Darüber hinaus hat NuGet die niedrigste Version für dieses Paket wiederhergestellt, was nur selten von Entwicklern gewünscht wird. Diese Änderung bietet klarere und umsetzbare Fehlermeldungen, wenn die Versionsmetadaten fehlen.

Fügen Sie der Paket-Referenz eine Version hinzu, zum Beispiel:

- <PackageReference Include="Some.Package" />
+ <PackageReference Include="Some.Package" Version="1.2.3" />

Wenn die niedrigste Paketversion gewünscht wird, verwenden Sie Version="0.0.0". In diesem Fall löst NuGet die Warnung NU1603 anstelle des vorherigen NU1604 aus.

Wenn Sie zur vorherigen Warnung zurückkehren möchten, können Sie sie auf SdkAnalysisLevel oder niedriger festlegen9.0.300. Dies wirkt sich jedoch auf alle Funktionen aus, die auf SdkAnalysisLevel zugreifen.

Betroffene APIs

Keiner.