繁体   English   中英

从程序集属性中获取 Nuget package 属性(在 Visual Studio 2022 中)

[英]Get Nuget package properties from assembly attributes (in Visual Studio 2022)

我在 Visual Studio 2022 中有一个 C# 项目。
AssemblyInfo.cs文件中,我有一个AssemblyVersion属性:

using System.Reflection;
[assembly: AssemblyVersion("1.2.3")

我想在构建时自动生成一个 NuGet package,我想知道是否可以在 package 属性对话框中指定使用AssemblyVersion作为 package 版本,以避免必须记住分别在两个地方更改版本时间。

像这样的东西(不起作用):

包属性

有没有办法做到这一点?

$(AssemblyVersion)值试图引用 MSBuild 属性。 它在构建时看不到代码中的[AssemblyVersion]属性。 我建议您将版本规范移至您的项目文件(在该 UI 中搜索“版本”,或编辑您的.csproj并手动设置<Version>属性。这样您只需设置一次值; version 将在程序集上设置,并在打包操作期间使用。

您可以删除AssemblyInfo并在 csproj 文件中指定版本(见下文)。 do.net pack然后应该生成正确版本的 package 和 dll。

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>

        ...

        <Version>MAJOR.MINOR.PATCH</Version>
        <IsPackable>true</IsPackable>
    </PropertyGroup>

    ...

</Project>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM