Visual Studio 2017 UI忽略CSPROJ <packageversion>

时间:2017-07-06 20:25:26

标签: msbuild .net-core visual-studio-2017 nuget-package

我有一个简单的.NetCoreApp 1.1类库,目前在Visual Studio 2017 15.2(26430.13)中打开。 我想在构建时创建一个NuGet包,并配置了&#34;包&#34;我的项目设置选项卡;包括&#34;在构建&#34;上生成NuGet包。 在该标签上,我设置了&#34; 包ID &#34;和&#34; 包版本&#34;。 我看到包ID 存储在CSPROJ <PackageId>元素中。 但是,我没有看到Package版本存储在<PackageVersion>元素中。 NuGet包使用CSPROJ <PackageVersion>值构建;以及项目属性中显示的不同值&#34; Package&#34;标签存储在我找不到的一些神奇的位置。

这是一个错误吗?

-John

1 个答案:

答案 0 :(得分:1)

PackageVersion如果未在项目中明确设置,则默认为Version,因此单独编辑Version也会设置生成的nuget包的版本。此外,Version - 与PackageVersion相反 - 也将用作自动生成的AssemblyInfo.cs的默认值,因此在许多情况下,您仍希望设置Version以影响汇编元数据 nuget的软件包版本。

如果您认为此行为不正确 - 尤其是在项目本身中定义自定义PackageVersion时 - 在设置PackageVersion时,这可能会被视为错误或缺少此功能手动。您可以在project system's GitHub repo上打开一个问题来讨论此行为。