如何避免 .NET AssemblyVersion 和 AssemblyFileVersion 中重复的常量字符串

Chr*_*ris 2 .net c# assemblyversionattribute

MyAssemblyInfo.cs在 C# 项目中,我们手动增加版本并有一个包含以下内容的顶级文件

[assembly: AssemblyVersion("31.1.13")]
[assembly: AssemblyFileVersion("31.1.13")]
[assembly: AssemblyInformationalVersion("31.1.13-V1.0.0")]
Run Code Online (Sandbox Code Playgroud)

我想避免重复该版本。例如,使用 C 预处理器,可以将其写为

#define VERSION "31.1.13"
[assembly: AssemblyVersion(VERSION)]
[assembly: AssemblyFileVersion(VERSION)]
[assembly: AssemblyInformationalVersion(VERSION "-V1.0.0")]
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以在 C# 中实现这一目标而不使用任何外部工具?

小智 5

[assembly: AssemblyFileVersion(AppVersion.Version)]
[assembly: AssemblyInformationalVersion(AppVersion.Version)]
// you can use + here but the format you use shows as invalid version for me
[assembly: AssemblyVersion(AppVersion.Version)] 

// this must be at the end of the global declarations
internal class AppVersion
{
    public const string Version = "31.1.13";
}
Run Code Online (Sandbox Code Playgroud)