【发布时间】:2010-11-14 23:45:39
【问题描述】:
是否可以强制互操作程序集引用其关联 COM DLL 的本地副本?
这是场景:
我有一个引用互操作程序集 (Interop.OTAClient.dll) 的 .NET 应用程序,它是 COM DLL 的互操作程序 (OTAClient.dll,它是 HP Quality Center 的自动化 API)。我对 COM 不是很了解,但据我了解,互操作程序集通过注册表中的 GUID 引用查找 COM 类,而不是指向特定文件。
我遇到的问题是注册表项指向的 OTAClient.dll 副本被不同版本覆盖,具体取决于我刚刚在浏览器中登录的 QC 版本,并且这些 DLL 的不同版本是彼此不兼容。 .NET 应用程序只会连接到特定版本的 QC,所以我不能让 COM DLL 以这种方式变化。
任何建议都将不胜感激,因为这种行为真的很烦人。我已经看到有关 COM 互操作问题的其他问题,但它们似乎都是关于强制使用互操作 DLL 的本地版本而不是 GAC 中的一个,而不是这种涉及实际 COM DLL 的特定场景。
【问题讨论】:
标签: .net com-interop dll hp-quality-center