如何从 Assembly 获取内部版本号/修订版? (第四位)
How to get buildnumber / revision from Assembly? (4th digit)
我们的构建过程会在每次构建时更新版本号的第四位数字(构建号或修订版)。
我正在使用以下代码尝试获取版本,以便它可以显示在初始屏幕和关于页面上。
var version = Assembly.GetEntryAssembly().GetName().Version;
var programName = "Version: " + version;
为什么版本号中的第 4 位数字总是零,我可以更改什么以使其 属性 反映内部版本号?
任何程序集都有两个元数据:程序集版本和文件版本。汇编版不知道具体怎么拿。似乎有一个 AssemblyVersionAttribute 但是当我尝试搜索它时,返回了一个空引用。
但是您可以使用此代码获取的文件版本:
public static Version GetAssemblyVersion (Assembly asm)
{
var attribute = Attribute.GetCustomAttribute(asm, typeof(AssemblyFileVersionAttribute), true) as AssemblyFileVersionAttribute;
return new Version(attribute.Version);
}
一般来说,我每次都会同步文件版本=程序集版本,这样我就可以使用这段代码获取程序集版本。第三方库,根据我的经验,我可以看出它们也在遵循这种模式。
我们的构建过程会在每次构建时更新版本号的第四位数字(构建号或修订版)。
我正在使用以下代码尝试获取版本,以便它可以显示在初始屏幕和关于页面上。
var version = Assembly.GetEntryAssembly().GetName().Version;
var programName = "Version: " + version;
为什么版本号中的第 4 位数字总是零,我可以更改什么以使其 属性 反映内部版本号?
任何程序集都有两个元数据:程序集版本和文件版本。汇编版不知道具体怎么拿。似乎有一个 AssemblyVersionAttribute 但是当我尝试搜索它时,返回了一个空引用。
但是您可以使用此代码获取的文件版本:
public static Version GetAssemblyVersion (Assembly asm)
{
var attribute = Attribute.GetCustomAttribute(asm, typeof(AssemblyFileVersionAttribute), true) as AssemblyFileVersionAttribute;
return new Version(attribute.Version);
}
一般来说,我每次都会同步文件版本=程序集版本,这样我就可以使用这段代码获取程序集版本。第三方库,根据我的经验,我可以看出它们也在遵循这种模式。