Delen via


PackageReference zonder een versie veroorzaakt een fout

Vanaf .NET 10 genereert NuGet een NU1015 fout wanneer een PackageReference item geen versie heeft opgegeven, in plaats van de vorige NU1604 waarschuwing.

Er is geen wijziging bij het gebruik van Central Package Management, omdat de PackageReference XML volgens het ontwerp geen versie in dat scenario mag hebben.

Geïntroduceerde versie

.NET 10

Vorig gedrag

Eerder heeft NuGet een NU1604-waarschuwing gegenereerd met de volgende tekst:

Projectafhankelijkheid PackageA bevat geen inclusieve ondergrens. Neem een ondergrens op in de afhankelijkheidsversie om consistente herstelresultaten te garanderen.

Nieuw gedrag

Vanaf .NET 10 genereert NuGet een NU1015-fout met de volgende tekst:

Voor de volgende PackageReference-items is geen versie opgegeven: PackageA

Type van brekende verandering

Dit is een gedragsverandering.

Reden voor wijziging

Het bericht 'geen ondergrens' was verwarrend en het was onduidelijk hoe het probleem moet worden opgelost. Daarnaast heeft NuGet de laagste versie voor dat pakket hersteld. Dit is zelden wat ontwikkelaars willen. Deze wijziging biedt duidelijkere en meer bruikbare foutberichten wanneer de metagegevens van de versie ontbreken.

Voeg een versie toe aan de pakketreferentie, bijvoorbeeld:

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

Als de laagste pakketversie gewenst is, gebruikt u Version="0.0.0". In dit geval genereert NuGet waarschuwing NU1603 in plaats van de vorige NU1604.

Om terug te keren naar de vorige waarschuwing, kunt u SdkAnalysisLevel instellen op 9.0.300 of lager. Dit is echter van invloed op alle functies die vertrouwen op SdkAnalysisLevel.

Betreffende API's

Geen.