【问题标题】:Visual Studio 2017 UI ignores CSPROJ <PackageVersion>Visual Studio 2017 UI 忽略 CSPROJ <PackageVersion>
【发布时间】:2017-12-11 00:17:02
【问题描述】:

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

这是一个错误吗?

-约翰

【问题讨论】:

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


    【解决方案1】:

    如果项目本身没有明确设置PackageVersion,则默认为Version,因此单独编辑Version 也会设置生成的nuget 包的版本。此外,Version - 与 PackageVersion 相比 - 也将用作自动生成的 AssemblyInfo.cs 的默认值,因此在许多情况下,您无论如何都希望设置 Version 以影响两个程序集元数据 nuget的包版本。

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

    【讨论】:

    • 如果您在 csproj 中设置 AssemblyVersion 和 FileVersion,那么使用 Version 而不是 PackageVersion 基本上什么都不做,对吗?
    • 如果其他人不清楚,对我有用的只是删除我的 csproj 中的 条目——然后我的包是用 构建的,这就是你实际的在 UI 中编辑。
    猜你喜欢
    • 2020-01-18
    • 1970-01-01
    • 2017-08-06
    • 2022-11-04
    • 2017-08-05
    • 2017-08-08
    • 2018-04-07
    • 1970-01-01
    • 2014-06-03
    相关资源
    最近更新 更多