CreateInstance из C ++ класса C #, даже если отсутствует ссылка на сборку

У меня есть форма конфигурации C #, которая может быть вызвана двумя способами:

  1. Прямо из собственного .exe
  2. Из нашего основного приложения: в этом случае есть функция C ++, которая создает экземпляр класса C #.

Эта форма конфигурации использует Interop.Outlook.dll, но это не обязательно.
Вот что происходит в двух случаях, если отсутствует Outlook.dll:

  1. Мы ловим исключение, и форма отлично работает, очевидно, без функций Outlook.
  2. Сбой основного приложения, не доходя до конструктора C #.

Код C ++:

m_pMyObject = new MyLib::IMyClassPtr(__uuidof(MyLib::MyClass));

(Который, кажется, вызывает CreateInstance.) Эта строка вызывает исключение _com_error, если Outlook.dll отсутствует.

У меня сложилось впечатление, что C ++ не может справиться с этой ситуацией, потому что он требует разрешения всех ссылок.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …