2017-07-06 109 views
2

我有一个简单的.NetCoreApp 1.1类库,目前在Visual Studio 2017 15.2(26430.13)中打开。 我想在构建上创建一个NuGet包,并配置了我的项目设置的“包”选项卡;包括“生成NuGet包”。 在该选项卡上,我设置了“包装编号”和“包装版本”。 我看到存储在CSPROJ <PackageId>元素中的包ID为。 但是,我没有看到Package版本存储在<PackageVersion>元素中。 NuGet包使用CSPROJ <PackageVersion>值进行构建;并且项目属性“Package”选项卡中显示的不同值存储在我无法找到的某个神奇位置。Visual Studio 2017 UI忽略CSPROJ <PackageVersion>

这是一个错误?

-John

回答

1

PackageVersion默认为Version如果没有项目本身明确设置它,所以编辑Version单独还将设置所产生的NuGet包的版本。此外,与PackageVersion相反,Version也将用作自动生成的AssemblyInfo.cs的缺省值,因此在很多情况下,您仍然希望设置Version以影响汇编元数据 nuget的程序包版本。

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

+0

如果您在csproj中设置AssemblyVersion和FileVersion,那么使用Version而不是PackageVersion基本上什么都不会做,那对吗? – Dismissile

+0

如果其他人不清楚,我的工作只是删除我的csproj中的条目 - 然后我的包使用构建,这是您在UI中实际编辑的内容。 –