0

请参阅前导问题... Visual Studio NugetPackageManager 界面中“版本”列的意义是什么?(与“已安装”列不同)


在此处输入图像描述

确定版本列旨在指示“现在单击安装按钮将安装什么版本”...

我正在测试我正在发布的 Nuget 包的 .NET 版本兼容性。当我尝试将其安装在 .NET Framework 项目之外时,会填充“已安装”列,但不会填充“版本”列。

  • 为什么?
  • 列中没有值是什么意思?
  • 我应该关心/担心吗?我做错了什么吗?

我希望这只是随着从 .NET Framework 到 .NET Core/Standard 的转变而演变的 Nuget 的一些产物?

4

1 回答 1

1

经过一些测试,看起来该Version列是由新的 sdk项目PackageReference中使用的当然控制的。

我尝试将一个项目(.NET Framework)从packages.configto迁移PackageReference,我看到该Version列这次列出了版本号。

所以我认为,如果 NuGet 包管理器无法获取/找到 PackageReference 的设置(应该在项目文件中),那么相应的Version列将是空白的。

即使对于 .NET Standard 项目,例如,如果您创建一个 .NET Standard 类库项目,您可以看到它包含NETStandard.Library包,但在Version列中它是空白的,并且在其项目文件中,NETStandard.Library没有设置显式(它应该包含在sdk)。

在此处输入图像描述

于 2021-11-02T07:56:41.473 回答