Мы работаем над интеграцией большого приложения на основе MFC с несколькими управляемыми (.NET) надстройками. Связь с этими надстройками осуществляется через COM.
Исторически мы просто использовали реестр, чтобы сделать эти надстройки доступными (как COM-серверы) для приложения. Но теперь мы пытаемся использовать COM-взаимодействие без регистрации.
Мы бы хотели, чтобы эти надстройки могли располагаться в отдельном каталоге от каталога, в котором запущено приложение, - в идеале, в любом месте. Но, по-видимому, у нас возникают проблемы с созданием экземпляров объектов сервера из-за невозможности разрешить зависимые сборки, которые также находятся в каталоге с DLL-библиотекой COM-сервера.
«Старомодное» COM-взаимодействие обрабатывает это с помощью контекста LoadFrom при загрузке целевой сборки. Но механизм контекста активации, похоже, не делает этого.
Кто-нибудь знает, как заставить это работать? Не ясно, можем ли мы идентифицировать зависимые сборки в манифесте SxS модуля или, возможно, мы можем создать контекст активации по-другому?
Спасибо за любые мысли / советы!
Джеф