NuGet 警告 NU1604
遺漏套件版本
專案相依性 『PackageA』 不包含內含下限。 在相依性版本中納入下限,以確保還原結果一致。
問題
專案相依性不會定義版本。
這表示還原使用最低可用的版本。 每個還原都會向下浮動,嘗試尋找可使用的較低版本。 這表示還原會上線,每次檢查所有來源,而不是使用使用者套件資料夾中已經存在的套件。
溶液
尋找未定義 Version
屬性並新增 PackageReference
專案:
例如,從下列項目變更:
<PackageReference Include="PackageA" />
自:
<PackageReference Include="PackageA" Version="9.0.0" />
如果專案使用 NuGet 的中央套件管理 (CPM),您必須更新 Directory.Packages.props
中的 <PackageVersion />
專案,然後從下列項目變更:
<PackageVersion Include="PackageA" />
自:
<PackageVersion Include="PackageA" Version="9.0.0" />
如果在 <PackageVersion />
專案中指定版本,但仍收到此警告,請確認您已正確 上線至中央套件管理。
注意
使用 CPM 且檔案 Directory.Packages.props
無效時,會引發 NU1604。
遺漏內含下限
專案相依性 'PackageA' (<= 9.0.0) 不包含內含下限。 在相依性版本中納入下限,以確保還原結果一致。
問題
專案相依性不會定義下限。
這表示還原找不到 最符合。 每個還原都會向下浮動,嘗試尋找可使用的較低版本。 這表示還原會上線,每次檢查所有來源,而不是使用使用者套件資料夾中已經存在的套件。
溶液
更新專案的 PackageReference
Version
屬性以包含下限。
例如,從下列項目變更:
<PackageReference Version="(9.0.0, )" />
自:
<PackageReference Version="[9.0.0, )" />
或
<PackageReference Version="9.0.0" />
這表示下限。
如果專案使用 NuGet 的中央套件管理 (CPM),您必須更新 Directory.Packages.props
中的 <PackageVersion />
專案,然後從下列項目變更:
<PackageVersion Include="PackageA" Version="(9.0.0, )" />
自:
<PackageVersion Include="PackageA" Version="9.0.0" />