簡體   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