從 .NET 10 開始,NuGet 會在項目沒有指定版本時PackageReference
引發NU1015
錯誤,而不是先前NU1604
的警告。
使用中央套件管理時沒有變更,因為根據設計,PackageReference XML 不應該在該案例中具有版本。
推出的版本
.NET 10 Preview 6
先前的行為
先前,NuGet 使用下列文字引發 NU1604 警告:
專案相依性 『PackageA』 不包含內含下限。 請在相依性版本包含下限,以確保還原結果一致。
新行為
從 .NET 10 開始,NuGet 會引發具有下列文字的 NU1015 錯誤:
下列 PackageReference 項目未指定版本:PackageA
破壞性變更的類型
變更的原因
「沒有下限」訊息令人困惑,目前還不清楚如何修正此問題。 此外,NuGet 已還原該套件的最低版本,這很少是開發人員想要的版本。 當版本元數據遺失時,這項變更會提供更清楚且更可行的錯誤訊息。
建議的動作
請在套件參考中新增一個版本,例如:
- <PackageReference Include="Some.Package" />
+ <PackageReference Include="Some.Package" Version="1.2.3" />
如果需要最低套件版本,請使用 Version="0.0.0"
。 在此情況下,NuGet 會引發警告 NU1603,而不是先前的 NU1604。
若要還原為先前的警告,您可以將 設定 SdkAnalysisLevel
為 9.0.300
或更低。 不過,這會影響 閘道上 SdkAnalysisLevel
的所有功能。
受影響的 API
沒有。