1

Windows PE(便携式可执行文件)文件包含出现在文件的“属性”对话框中“详细信息”选项卡下的元数据。似乎任意元数据可以出现在那里。

我想做的是将一段元数据添加到我构建的 C# 类库中,其值是来自构建项目的 git repo HEAD 的提交 ID。我不能只使用 CLRAssemblyVersionAttribute来设置 git commit id,因为 CLR 要求它以标准a.b.c.d版本格式显示。此外,理想情况下,我希望保留对用户有意义的版本号,但总是有办法查找,给定实际的 PE 文件,可以重新创建它的提交 ID。

如果有一个托管 API 可以做到这一点,那就更好了,但我愿意 P/Invoke 来完成这件事。

4

2 回答 2

1

啊! 我刚刚发现AssemblyInformationalVersionAttribute,它允许给出一个任意字符串,该字符串在所述对话框的“详细信息”选项卡中显示为“产品版本”值。这看起来可能正是我需要的东西。

于 2009-12-28T14:40:39.800 回答
1

详细信息选项卡中的信息来自VERSIONINFO资源,但我不确定您将如何从 .NET 世界访问它...

于 2009-12-28T14:26:31.107 回答