Как C# может использовать устаревшую DLL просто без регистрации(regsvr32)

Ситуация
Я управляю системой сборки, которая выполняет множество сборок для многих проектов. Чтобы избежать влияния одной сборки на другую, мы блокируем пользователя сборки только в его рабочем пространстве. Сборки запускаются как непривилегированные пользователи, которые имеют право записи только в рабочее пространство.

Проблема
Во время новой сборки нам нужно использовать устаревшую DLL стороннего производителя, которая раскрывает свой интерфейс через COM. Команда разработчиков хочет зарегистрировать сборку (regsrv32.exe), но наш режим безопасности сборки блокирует эту деятельность. Если мы ослабим режим, то DLL стороннего производителя повлияет на другие сборки, и если у меня есть две сборки, которым нужны две разные версии, я могу скомпилировать неправильную сборку с неправильной версией (вполне реальная возможность).

Вопрос
Есть ли другие варианты, кроме регистрации, для работы с устаревшими DLL, которые раскрывают свой интерфейс через COM?

Спасибо за помощь

Peter

6
задан marc_s 12 January 2012 в 21:41
поделиться