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) 不包含非独占下限。 在依赖项版本中包括下限,以确保一致的还原结果。

问题

项目依赖项不定义下限。

这意味着还原找不到 最佳匹配。 每个还原将向下浮动,尝试查找可以使用的较低版本。 这意味着还原会联机,以便每次检查所有源,而不是使用用户包文件夹中已存在的包。

溶液

更新项目的 PackageReferenceVersion 属性以包含下限。 例如,从:

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