版本化类似乎是由 REGASM 创建的 - 如何使用它们?

问题描述

当我使用 REGASM 工具注册为 COM 互操作启用的 .NET 程序集时,该工具会为每个组件版本创建一个单独的注册表项。例如,我得到:

HKEY_CLASSES_ROOT\CLSID\{myCLSID}\InprocServer32\1.0.0.0

HKEY_CLASSES_ROOT\CLSID\{myCLSID}\InprocServer32\1.1.0.0

这些注册表中的每一个都包含与 HKEY_CLASSES_ROOT\CLSID{}\InprocServer32 下大致相同的结构值,除了条目指向不同的位置,具体取决于组件版本。 HKEY_CLASSES_ROOT\CLSID{myCLSID}\InprocServer32 显然包含最新的注册版本,当然,这是 COM 消费者通常会使用的,他们会忽略其余的。

这种结构显然允许不同版本的组件在同一台计算机上共存(我知道这违反了最初指定的 COM 规则)。我想使用它,但我在 Microsoft 文档或谷歌搜索中找不到任何关于它的文档。有人知道吗?我正在寻找带有版本说明符的 CoCreateInstance/CoCreateInstanceEx 之类的东西。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)