C# 编译的程序属性中两个版本号的区分

最后更新:1 年前

今天给甲方写代码的时候,发现 Visual Studio 的 项目属性 里支持图形化配置的两个版本号:

程序集版本 和 文件版本

它们在 AssemblyInfo.cs中是这么实现的:

1
2
3
4
5
6
7
8
9
10
11
12
// 程序集的版本信息由下列四个值组成: 
//
// 主版本
// 次版本
// 生成号
// 修订号
//
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("4.2022.1.18")]
[assembly: AssemblyFileVersion("4.2022.1.18")]

提出问题

可是在生成项目后, AssemblyVersion 项在 文件属性[1] 中 没有得到体现,反而有一个 “产品版本” 跟 “文件版本” 保持一致,因此提出了一个猜测:“产品版本” 会不会另有配置项?

解决问题

于是我就去查了查啊,后来发现确实有,但是 Visual Studio 中并没有对此得到良好的支持,需要手动在 Properties\AssemblyInfo.cs 中添加代码来实现它:

1
[assembly: AssemblyInformationalVersion("0.1.2.0")]

至此,大功告成

写在最后

善用百度铁子们!


  1. 1.在 Windows 中 右键相关文件 - 属性 - 详细信息