Получить DLL из каталога с Виндзорским замком - PullRequest
6 голосов
/ 10 мая 2011

В настоящее время у меня есть папка «PlugInFolder», куда я хочу скопировать свой пользовательский плагин в виде библиотеки DLL. Каждый плагин реализует мой интерфейс "IPlugIn".

Я хочу получить их во время выполнения с Виндзорским замком.

Я пробовал что-то подобное без результатов:

CastleContainer.Instance
       .Install(
        FromAssembly.InDirectory(new AssemblyFilter("PlugInFolder"))
         );

      CastleContainer.Instance.Register(Component.For<IPlugIn>());


       IPlugIn[] plugIn= CastleContainer.Instance.ResolveAll<IPlugIn>();  

Я получаю эту ошибку:

Type ImageEditorInterfaces.IPlugIn is abstract.
As such, it is not possible to instansiate it as implementation of service ImageEditorInterfaces.IPlugIn.

1 Ответ

6 голосов
/ 10 мая 2011

Попробуйте что-то вроде этого:

container.Register(AllTypes
    .FromAssemblyInDirectory(new AssemblyFilter("PlugInFolder"))
    .BasedOn<IPlugIn>());
...