【问题标题】:Where does Visual Studio get COM DLL VersionVisual Studio 从哪里获得 COM DLL 版本
【发布时间】:2013-11-26 21:06:01
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# visual-studio com fileversioninfo


    【解决方案1】:

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

    【讨论】:

    • 谢谢。从代码 (C#) 中获取此信息的任何提示?
    • 只有程序员才对类型库版本号感兴趣。它仅在您构建程序时才相关。你已经知道如何获得它了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    • 2023-03-14
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多