Расширение Ninject XML - Архитектура плагинов
Я использую расширение ninject xml для создания разных DAL для одного и того же исполняемого файла (плагинов). Моя идея заключалась в том, чтобы поместить все из них (DLL) в подпапку основного приложения с файлами ninject xml.
Проблема в том, что ninject не может найти ссылочную привязку в xml. Это работает, только если я копирую dll в ту же папку основного приложения (.exe).
Я пытался загрузить DLL перед загрузкой ядра
Assembly assembly = Assembly.LoadFrom(dll);
AppDomain.CurrentDomain.Load(assembly.GetName());
Kernel.Load(xmlFile);
Но все еще не работает. (Ошибка: "Не удалось разрешить тип" MyType ", определенный в атрибуте" to ")
Кто-нибудь знает какой-либо способ ссылаться на конкретную папку в файле ninject-xml или загружать типы из другой папки, которые могут быть разрешены с использованием расширения ninject-xml?
2 ответа
Я решаю это, используя элемент "зондирование" в файле конфигурации. Он включает в себя папку в области разрешения.
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="Plugins"/>
</assemblyBinding>
</runtime>
Больше информации здесь.
Спасибо всем.
Может ли расширение конвенций решить проблему, загрузив ваши привязки на основе имеющихся библиотек DLL? Если нет, не могли бы вы объяснить свою проблему более подробно?