Расширение 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? Если нет, не могли бы вы объяснить свою проблему более подробно?

Другие вопросы по тегам