【发布时间】:2013-11-26 21:06:01
【问题描述】:
当我向项目添加 COM 引用时,VS 会显示名称和版本。显示的版本是两个术语(即它采用X.X 的形式)。
但是,当我尝试获取版本号(通过FileVersionInfo)时,我得到一个格式为X.X.X.X 的数字并且它并不总是与添加中显示的数字相关引用对话框。
如何从 DLL 文件中提取这个数字?
【问题讨论】:
标签: c# visual-studio com fileversioninfo
当我向项目添加 COM 引用时,VS 会显示名称和版本。显示的版本是两个术语(即它采用X.X 的形式)。
但是,当我尝试获取版本号(通过FileVersionInfo)时,我得到一个格式为X.X.X.X 的数字并且它并不总是与添加中显示的数字相关引用对话框。
如何从 DLL 文件中提取这个数字?
【问题讨论】:
标签: c# visual-studio com fileversioninfo
X.X 版本号是类型库版本号,编码为major.minor。它嵌入在类型库、.tlb 文件中或作为资源嵌入到 DLL 中。您可以使用 OleView.exe 实用程序 View + Typelib 命令查看它。它还出现了注册表,这是 Visual Studio 找到它们的方式,HKCR\Typelib 键。
X.X.X.X 版本号是文件 版本号,作为资源嵌入在可执行文件中。它通常编码 major.minor.build.revision 数字。不是必需的,它可以是任何字符串。在 .NET 中,您使用 [AssemblyFileVersion] 属性指定它。您可以使用 Visual Studio 的 File + Open + File 命令查看它,选择 DLL 或 EXE 并双击 Version.1 资源(在 Express 中不可用)。
类型库版本号代表 COM 服务器公共接口的版本。它不会经常更改,因为更改对客户端代码来说非常痛苦。文件版本号表示文件在构建时的序列号。它经常变化。这些数字通常没有任何共同点。
【讨论】: