Как загрузить вспомогательные сборки относительно DLL

У меня есть ситуация, когда я поставляю подключаемую библиотеку DLL, которая использует .NET 4.0. Эта DLL использует ResourceManager для загрузки строк. Строки, в свою очередь, переводятся и компилируются во вспомогательные сборки.

Я не являюсь автором основного EXE, который загружает и использует мою подключаемую DLL. Он запущен из другого каталога. Из-за этого DLL не может найти свои вспомогательные сборки. ResourceManager хочет найти их в каталоге EXE, а не в каталоге, в котором находится DLL.

Как заставить ResourceManager загружать вспомогательные сборки, относящиеся к DLL?


person Charles    schedule 30.08.2011    source источник


Ответы (1)


Если основной исполняемый файл считывает настройки из файла конфигурации, который вам разрешено изменять, вы можете использовать там тег <codeBase>, как описано здесь.

person Gert Arnold    schedule 30.08.2011
comment
Хорошая идея, но не подходит для моей ситуации. EXE - это Explorer, а управляемая нами DLL - это расширение оболочки контекстного меню. Я не упоминал об этом раньше, потому что не хотел иметь дело с чушью всех насчет написания расширения оболочки с использованием .NET. Это не был ни мой код, ни дизайн, мне просто дали задание заставить его работать. :-( - person Charles; 02.09.2011