2011-05-10 6 views
6

Actualmente tengo una carpeta "PlugInFolder" donde quiero copiar mi complemento personalizado como biblioteca DLL. Cada complemento implementa mi interfaz "IPlugIn".Recuperar DLL del directorio con Windsor Castle

Quiero recuperarlos en tiempo de ejecución con el Castillo de Windsor.

que he probado algo como esto sin resultados:

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

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


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

recibo este error:

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

Respuesta

6

intentar algo como esto:

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

WOW! ¡Funciona genial! – danyolgiax

Cuestiones relacionadas