2

当我向项目添加 COM 引用时,VS 会显示名称和版本。显示的版本是两个术语(即它采用的形式X.X)。

但是,当我尝试获取版本号(通过FileVersionInfo)时,我会得到一个格式中的数字X.X.X.X 它并不总是与添加引用对话框中显示的数字相关。

如何从 DLL 文件中提取此数字?

4

1 回答 1

1

XX 版本号是类型库版本号,编码为major.minor。它嵌入在类型库、.tlb 文件中或作为资源嵌入到 DLL 中。您可以使用 OleView.exe 实用程序 View + Typelib 命令查看它。它还出现了注册表,这是 Visual Studio 找到它们的方式,HKCR\Typelib 键。

XXXX 版本号是文件版本号,作为资源嵌入在可执行文件中。它通常编码 major.minor.build.revision 数字。不是必需的,它可以是任何字符串。在 .NET 中,您使用 [AssemblyFileVersion] 属性指定它。您可以使用 Visual Studio 的 File + Open + File 命令查看它,选择 DLL 或 EXE 并双击 Version.1 资源(在 Express 中不可用)。

类型库版本号代表 COM 服务器的公共接口的版本。它不会经常更改,因为更改对客户端代码来说非常痛苦。文件版本号表示文件在构建时的序列号。它经常变化。这些数字通常没有任何共同点。

于 2013-11-26T21:31:50.180 回答