在使用 VS2013 构建的 C# 项目中,我可以将其放入 AssemblyInfo.cs 文件中:
[assembly: AssemblyInformationalVersion("7.1.0.0 Private (Debug build)")]
当我对另一个项目中的可执行文件使用 FileVersionInfo.GetVersionInfo .NET API 时,我发现报告了以下值:
- 产品版本:7.1.0.0 Private(调试版本)
- 产品主要部分:7
- 产品次要部分:1
当我在使用 VS2015 构建的 C# 项目中使用相同的属性和字符串值时,ProductMajorPart 和 ProductMinorPart 属性报告为零!
有谁知道行为改变是否是故意的?
我检查了在可执行文件中找到的二进制文件版本信息,虽然版本信息中的字符串值在两个文件中都符合预期,但 VS2015 可执行文件在 VS_FIXEDFILEINFO.dwProductVersionMS 和 VS_FIXEDFILEINFO.dwProductVersionLS 字段中的值为零。