Я добавляю C ++ COM dll в качестве ссылки на проект C # (Visual Studio 2008). VS добавляет ссылку, однако сгенерированная библиотека взаимодействия не отражает именования в исходном определении typelib (.idl). Вот как выглядит определение моей библиотеки:
[
uuid(...),
helpstring("MyLib")
]
library MyLib
{
[
uuid(...),
helpstring("MyCom CoClass")
]
coclass MyComCoClass
{
[default] interface IMyInterface;
interface IMyInheritedInterface;
interface IMyBaseInterface;
};
}
Итак, IMyInterface наследует от IMyInheritedInterface, который, в свою очередь, наследует от IMyBaseInterface. Я хочу, чтобы все эти интерфейсы были доступны при добавлении .dll этого COM. В сборке взаимодействия VS генерирует для typelib выше, IMyInterface становится MyInterface. Почему и есть ли способ обойти это?
Спасибо