添加使用Visual Studio COM引用重命名的Interop程序接口

问题描述 投票:2回答:1

我加入一个C ++ COM DLL作为一个C#项目(Visual Studio 2008中)的引用。 VS加上基准然而所生成的互操作库不反映在原始类型库(的.idl)定义的命名。下面是我的库定义是这样的:

[
   uuid(...),
   helpstring("MyLib")
]
library MyLib
{    
    [
        uuid(...),
        helpstring("MyCom CoClass")
    ]
    coclass MyComCoClass
    {
        [default] interface IMyInterface;
        interface IMyInheritedInterface;
        interface IMyBaseInterface;
    };
}

所以,从IMyInterface的其中IMyInheritedInterface轮流从IMyBaseInterface继承继承。我想,当添加了这个COM的.dll文件所有这些接口的使用。在互操作组件VS产生用于类型库的上方,IMyInterface的变MyInterface的。为什么,是有办法解决它?

谢谢

.net visual-studio interop tlbimp
1个回答
2
投票

该类型库导入器,当一个接口是一个组件类的默认界面,它只能由该组件类使用。

所以,一个解决办法是另一个虚拟组件类添加到您的类型库,并为IMyInterface的是默认的界面了。

© www.soinside.com 2019 - 2024. All rights reserved.