当我向项目添加COM引用时,VS显示名称和版本。显示的版本是两个术语(即它采用X.X
形式)。
但是,当我尝试获取版本号(通过FileVersionInfo
)时,我会收到格式X.X.X.X
和的数字,但它并不总是与数字相关联显示在添加引用对话框中。
如何从DLL文件中提取此数字?
答案 0 :(得分:1)
X.X版本号是类型库版本号,编码为major.minor。它嵌入在类型库,.tlb文件中或作为DLL中的资源嵌入。您可以使用OleView.exe实用程序View + Typelib命令查看它。它也是Visual Studio找到它们的注册表,HKCR \ Typelib key。
X.X.X.X版本号是文件版本号,作为可执行文件中的资源嵌入。它通常编码major.minor.build.revision数字。不是必需的,它可以是任何字符串。在.NET中,您可以使用[AssemblyFileVersion]属性指定它。您可以使用Visual Studio的File + Open + File命令查看它,选择DLL或EXE并双击Version.1资源(Express中不可用)。
类型库版本号表示COM服务器的公共接口的版本。它不会经常更改,因为更改对客户端代码来说非常痛苦。文件版本号表示构建文件时的序列号。它经常变化。这些数字通常没有任何共同之处。