tengo en mi código global.axax:castillo de Windsor no puede encontrar instaladores en asambleas
protected void Application_Start()
{
WindsorContainer = new WindsorContainer();
WindsorContainer.Install(FromAssembly.InDirectory(new AssemblyFilter(AppDomain.CurrentDomain.RelativeSearchPath)));
ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(WindsorContainer.Kernel));
//...
}
Cuando elimino errores Global.asax, código FromAssembly.InDirectory(newAssemblyFilter(AppDomain.CurrentDomain.RelativeSearchPath))
encuentra toda mi proyecto de DLL (hay 7 DLL). 3 de ellos contiene la implementación de IWindsorInstaller
interfaz, por ejemplo:
class WindsorInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
var services = AllTypes.FromThisAssembly().Where(type => type.Name.EndsWith("Service"));
container.Register(services
.WithService.DefaultInterfaces()
.Configure(c => c.LifestyleTransient()));
container.Register(Component.For<ISession>().ImplementedBy<AspnetSession>().
LifeStyle.Transient);
container.Register(Component.For<ICache>().ImplementedBy<AspnetCache>().
LifeStyle.Transient);
}
}
Pero cuando I se exponen los puntos de interrupción, que está a sólo 1 instalador llamado, 2 otro fue omitido. Es gracioso, pero tengo otro trabajando en el proyecto a partir de lo que he copiado el código.
¡Oh Dios mío! Es un error tan estúpido :) ¡Muchas gracias! –
Nos sucede a todos, todo el tiempo :) – Marijn