相关疑难解决方法(0)

COM程序如何找到为COM Interop注册的.NET DLL?

一个客户想要从VB6使用我们的.NET DLL.它们旨在支持反向互操作,所有工作都很好......除了:在两个不同的目录中有两个单独的VB6程序.似乎有必要做一个:

  1. 将.NET DLL复制到两个目录中,或
  2. 在GAC中安装.NET DLL

这是客户的观察,也得到了RegAsm文档的支持:

使用Regasm.exe注册程序集后,可以将其安装在全局程序集缓存中,以便可以从任何COM客户端激活它.如果程序集仅由单个应用程序激活,则可以将其放在该应用程序的目录中.

我对这一点感到困惑.

第一点困惑:

据我所知,COM运行时使用Prog ID/Class ID定位DLL.当我在类ID条目的注册表中查看时,我在CodeBase键中看到了.NET DLL的完整路径.为什么使用Prog ID/Class ID的COM程序无法使用CodeBase找到.NET DLL?

第二点困惑:

GAC特定于.NET.它如何参与解析COM引用?

gac com-interop regasm

8
推荐指数
1
解决办法
966
查看次数

标签 统计

com-interop ×1

gac ×1

regasm ×1