У меня есть сборка для настройки документа Excel 2007, которая зависит от другой управляемой сборки (DLL 'A'), которая, в свою очередь, зависит от неуправляемой собственной библиотеки DLL, написанной на C ++ (DLL 'B'). Я создал проект установщика Windows для развертывания сборки настройки, ее развертывания и манифестов приложения, зависимой сборки (A) и собственной библиотеки DLL (B) в каталоге «Program Files \», в то время как документ Excel (фактически шаблон) скопировано в папку «Мои документы» пользователя. Свойство _AssemblyLocation шаблона было соответствующим образом изменено для поиска манифеста развертывания.
Шаблон не загружается. Глядя на последовательность загрузки в Process Monitor, становится ясно, что шаблон Excel успешно загружает библиотеку DLL настройки, которая находит и загружает библиотеку DLL «A», но затем A не удается найти библиотеку DLL «B», даже если B находится в том же каталоге. Монитор процессов показывает, что A ищет B во всех каталогах, перечисленных в переменной среды PATH, но не в своем собственном каталоге.
Каково соглашение при поиске зависимых сборок / DLL в решении для настройки документов VSTO? Есть ли способ помочь A найти B без добавления каталога приложения в PATH?