我正在添加一个 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 为上面的 typelib 生成的互操作程序集中,IMyInterface 变为 MyInterface。为什么以及是否有解决方法?
谢谢