使用Windsor Castle从目录中检索DLL

dan*_*iax 6 c# castle-windsor inversion-of-control

我目前有一个"PlugInFolder"文件夹,我想将我的自定义插件复制为DLL库.每个插件都实现了我的"IPlugIn"接口.

我想在运行时使用Windsor Castle检索它们.

我尝试过这样的事情没有结果:

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

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


       IPlugIn[] plugIn= CastleContainer.Instance.ResolveAll<IPlugIn>();  
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Type ImageEditorInterfaces.IPlugIn is abstract.
As such, it is not possible to instansiate it as implementation of service ImageEditorInterfaces.IPlugIn.
Run Code Online (Sandbox Code Playgroud)

Mar*_*ann 6

尝试这样的事情:

container.Register(AllTypes
    .FromAssemblyInDirectory(new AssemblyFilter("PlugInFolder"))
    .BasedOn<IPlugIn>());
Run Code Online (Sandbox Code Playgroud)