Ich füge eine C++ COM dll als Verweis auf ein C#-Projekt (Visual Studio 2008). VS fügt den Verweis jedoch die generierte Interop-Bibliothek spiegelt nicht die Benennung in der ursprünglichen typelib (.idl) Definition. Hier ist, wie meine Bibliotheksdefinition aussieht:
[
uuid(...),
helpstring("MyLib")
]
library MyLib
{
[
uuid(...),
helpstring("MyCom CoClass")
]
coclass MyComCoClass
{
[default] interface IMyInterface;
interface IMyInheritedInterface;
interface IMyBaseInterface;
};
}
IMyInterface erbt also von IMyInheritedInterface, das seinerseits von IMyBaseInterface erbt. Ich möchte alle diese Schnittstelle zur Verfügung, wenn diese COMs .dll hinzugefügt wird. In der Interop-Assembly, die VS für die obige Typelib generiert, wird IMyInterface zu MyInterface. Warum und gibt es eine Möglichkeit, dies zu umgehen?
Danke