读取WPF应用程序的程序集版本信息

28

我正在读取我的 WPF 应用程序的版本信息,但是我没有得到与我在 AssemblyInfo.cs 文件中编写的版本相同的版本。在我的文件中有:

[assembly: AssemblyVersion("0.1.001")]
[assembly: AssemblyFileVersion("0.0.001")]

我正在使用这段代码来读取版本信息

 System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();

我得到的版本号是 0.1.1.0,应该是 0.1.001

谢谢

2个回答

29

Version类的属性MajorMinorBuildRevision都是int类型,而不是string类型。因此,当将程序集版本的字符串解析为Version类时,该字符串的各个部分将被转换为整数表示形式。另外,还有一个规则,即指定的版本字符串的第一个数字是VersionMajor组件:

"1" - 1.0.0.0
"1.2" - 1.2.0.0
"1.2.3" - 1.2.3.0
"1.2.3.4" 1.2.3.4

7
换言之,前导零不能作为版本值的一部分。如果您想显示它们,您必须手动格式化字符串。 - Tergiver

3
MSDN文章中提到:

版本的所有组件都必须是大于或等于0的整数。

因此,要得到有效的整数,可以将其四舍五入或去除尾随零。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接