如何使用清单在vb6库项目中引用com可见的C#dll?

时间:2014-11-24 10:09:43

标签: c# .net vb6 com-interop

我有ac#com可见的dll,我想在vb6项目中调用这个dll,这也会生成一个dll。我没有使用regasm.exe来执行此调用,而不是我正在使用c#的清单生成dll然后创建它的tlb并从vb6调用它。

我在c#dll中创建了两个接口,一个是Itest,另一个是Itest2,两个接口都是可见的,并将Guid添加到两个接口,有两个名为testimp和classimp的类,它们分别实现了这两个接口。这两个类都是可见的,Classinterface类型为none,并具有各自的GUID。

问题是我能够从我的vb6项目中实例化testimp类而不是classimp类。

2 个答案:

答案 0 :(得分:1)

COM注册通常从TLB GUID引用 - 它将在注册表中注册

请注意,在Windows Vista及更高版本(IIRC)上,也可能在.manifest文件中部署应用程序本地COM注册:

答案 1 :(得分:0)

如果您的问题是按用户安装,请使用Regasm创建一个regfile,然后编辑regfile以将对HKCR的引用更改为HKCU \ Software \ Classes。