分享方式:


NuGet 錯誤 NU1011

不允許集中定義的浮動套件版本。

問題

<PackageVersion /> 專案不能包含浮動版本。 NuGet 的中央套件管理 (CPM) 被視為企業級功能,可提供更輕鬆的大規模版本管理,以及具決定性且安全的還原。 使用浮動版本,會導致將不正確的套件推送至摘要之後,將不正確的套件引入您的組建中。 這可能會導致您在存放庫中沒有進行任何變更,但突然發生中斷的情況,而且沒有辦法讓您回到良好的狀態,而不需要移除浮動版本或推送已修正的較新版本套件。 使用非浮動版本表示每個升級套件都受到存放庫中的認可所支援,讓您輕鬆判斷造成中斷的原因,並還原認可以回到良好狀態。

轉移釘選 功能的設計可讓您明確覆寫圖形中的可轉移版本,以取得更多控制權。 使用浮動版本做為覆寫,可能會讓不同專案的還原最終會針對應該釘選的套件使用不同的版本,因此會違反使用中央版本的承諾。

NuGet 建議您使用 Dependabot 之類的自動化,讓套件版本保持在最新狀態,以提供簡化的方式,讓套件保持更新,同時整合至提取要求的現有開發人員工作流程、自動化建置驗證,以及測試存放庫中認可所支援的所有專案。

解決方案

將浮動版本變更為 非浮動版本範圍