【问题标题】:How to change VB6 COM dll assembly Versions?如何更改 VB6 COM dll 程序集版本?
【发布时间】:2014-05-28 15:10:12
【问题描述】:

我使用我正在使用 regsvr32 注册的 myDll.dll VB6 dll。

在 Visual Studio 中,当我尝试使用“添加引用”功能从我的 C# 项目中引用它时,我可以在 COM 选项卡中看到它,它说它的版本是 8.0。 但是从 Windows 我可以看到它的文件版本是 1.0.121。

我假设 8.0 是程序集版本,1.0.121 是文件版本。

我想将 8.0 更改为 9.0。

使用 Visual Basic 6,我打开 dll 项目 项目 -> myDll 属性 -> Make

我可以看到我可以更改 1.0.121,但是我看不到任何地方可以更改 8.0。

有人可以帮忙吗?

谢谢

【问题讨论】:

  • 是类型库版本。您不能直接设置它,它受兼容性设置的影响。选择项目兼容性时,主版本号递增,选择二进制兼容性时,次版本号递增。如果您有 8.0,那么您肯定已经选择了项目兼容性。因此,只需进行重大更改即可。

标签: visual-studio dll com vb6


【解决方案1】:

@HansPassant 可能是一个,但我认为您看到的 8.0 指的是注册表中的 COM 版本,而不是组件的文件/程序集版本。

每当发生破坏与先前版本兼容性的更改时,VB6 都会创建一个新的 COM 版本,例如删除属性。

如果您下载 OLEView 并浏览到您的组件名称,您可能会看到如下内容:

【讨论】:

    【解决方案2】:

    这是接口或类型库版本。 COM 接口有一个由 UUID 和版本组成的 ID。当您进行非破坏性更改(例如添加新属性)时,此版本号的主要部分会递增。

    Levels of Binary Version Compatibility

    破坏二进制兼容性是完全不同的,会产生新的类 ID 和类型库 ID 值。当您这样做时,您确实应该为项目创建一个新名称,从而为 DLL 本身创建一个新名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-13
      • 2012-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多