0

在此处输入图像描述

“已安装”列已填充,但“版本”列未填充。

“版本”列是什么意思?(与“已安装”列不同)

(我熟悉语义版本的概念;所以我确切地知道版本号的概念对于 nuget 包意味着什么。我正在询问该界面中的那一列究竟是什么意思


关于空白的后续问题到此结束。

4

1 回答 1

1

应该很容易解释,当您选择特定的 NuGet 包时,该InstalledNuGet 包的版本将列在Installed列中,并且仅列出已安装/已安装它的项目。所以如果一个项目没有安装这个 NuGet 包,那么它将显示为空白。

通常,Version代表相同的事物(Installed)。首先,该Version列应该只显示/列出安装在/用于 .NET Standard、.NET Core 或 .NET 项目的 NuGet 的版本号,而对于 .NET Framework 项目,它不会列出。这Version将匹配在项目的项目文件(.xxproj 文件)中设置的版本,即使.xxproj未安装 NuGet 包的特定版本(在文件中设置)。但通常,它列出与Installed列相同的版本号。

例如(在 .xxproj 文件中):

<ItemGroup>
    <PackageReference Include="LochNessBuilder" Version="3.0.0-alpha" />
</ItemGroup>

很明显,该Version列列出了您正在使用(想要使用)Installed的 NuGet 包的版本号,并且该列列出了您已安装(或准备使用,因为可能存在多个版本)的 NuGet 包的版本号安装的相同 NuGet 包)。

我认为这可以概括为:

  1. 如果您在项目中安装了具体版本的 NuGet 包,那么版本号会列在Installed栏中,如果没有,则为空白,并且该Installed栏更有可能表明您已经安装了该版本的 NuGet 包。

  2. 列中列出的版本号与文件中的属性设置Version相匹配,并且更有可能表明您正在使用此版本的 NuGet 包。Version.xxproj

  3. 这两列通常显示一个特定项目的相同版本号。

  4. 基于 .NET Framework 的项目不会在Version列中列出版本号。它只会列出 .NET Core、.NET Standard 和 .NET 项目。原因应该与这些基于框架的项目/项目模板的结构不同,以及如何安装/复制/存储/使用NuGet包的不同机制有关。

  5. 我相信这不是很重要,除非您看到它们在一个项目的两列中有所不同。

于 2021-11-02T05:47:03.840 回答