Вот мой сценарий:
Я использую Microsoft AddIn Framework для своего проекта, чтобы иметь хорошую архитектуру плагинов. У меня также есть собственный API, который я скомпилировал в dll. Хост-приложение и все надстройки должны ссылаться на этот api. Очевидно, что при использовании этой структуры все надстройки должны находиться в своем собственном каталоге внутри каталога AddIns.
По моему опыту, любая сборка, на которую ссылается отдельный надстройка, должна быть помещена в каталог отдельного надстройки, иначе она не будет найдена, что приведет к исключению. В моем случае каждое дополнение ссылается на API и, следовательно, должно иметь эту dll в своем каталоге. Это означает, что у меня есть несколько копий моей DLL-библиотеки API, которая кажется ненужной. Я бы предпочел иметь только одно место, где я мог бы разместить свои необходимые сборки (например, папку lib в корне приложения), где хост и все надстройки могут их найти. Это возможно? Возможно, загрузка надстроек по-другому (домен приложения?) Позволит им просматривать каталог хост-приложения. Я относительно новичок в MAF, поэтому любые советы о том, как сделать эту организацию, были бы полезны.