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" />