如何更正dotnet恢复警告NU1604,不包含包含下限?

Wal*_*lly 14 .net-core

dotnet restore.NET Core项目上执行(目标.netcoreapp2.0.)时,我收到以下警告:

警告NU1604:项目依赖项System.Net.NameResolution不包含包含的下限.在依赖项版本中包含下限以确保一致的还原结果.

以下是项目文件中的相关行:

<PackageReference Include="System.Net.NameResolution" Verison="4.3.0" />
Run Code Online (Sandbox Code Playgroud)

(如果您想知道,我已经包含该引用以避免警告NU1605:检测到包降级.)

如何"在依赖版本中包含下限以确保一致的恢复结果"?

Mus*_*ata 7

为了指示包引用的最低版本,必须将引用的Version属性设置为包含下限的范围。正如@Carter指出的那样,Microsoft提供了有关该属性格式的不错的文档

如果您没有为引用指定一个包含性的下限,则每次还原都将尝试查找可以使用的软件包的较低版本。有关该警告的更多信息,请参见nuget错误和警告参考页面。

您所参考的唯一问题似乎是您有错字(Verison而不是Version)。所以这条线应该是

<PackageReference Include="System.Net.NameResolution" Version="4.3.0" />
Run Code Online (Sandbox Code Playgroud)

在此行中,您表示项目需要软件包System.Net.NameResolution 4.3.0或更高版本,因此在4.3.0上包含下限。

  • 是的,错字是关键。绝对不能有警告,因此请确保正确拼写属性名称时要小心。 (2认同)

Car*_*ter 5

我认为这里的关键是不要在您的版本中包含最后一位数字。然后它将默认将下限设置为4.3.0。

<PackageReference Include="System.Net.NameResolution" Version="4.3" />
Run Code Online (Sandbox Code Playgroud)


Hei*_*aen 5

右键单击“包”-> 管理 NuGet 包 -> 更新

更新所有损坏的软件包,如果不可用,请将其删除并重新添加。