Почти Ник! Вам необходимо передать конфигурацию xml в конструктор WindsorContainer:
IWindsorContainer container;
container =
new WindsorContainer(
new XmlInterpreter(
new ConfigResource("castle")
));
Я столкнулся с этим "Got ya", когда впервые начал играть с Castle Windsor. Не знает заглянуть в раздел конфигурации.
Совет: иди, возьми последнюю из своего сундука. Есть новый метод Register, который действительно полезен для массовой регистрации нескольких классов на одном интерфейсе. То есть, если вы разрабатываете с ASP.NET MVC, и у вас есть набор IController, вы можете использовать Castle Windsor для их автоматической регистрации. Таким образом, вам не нужно указывать их в файле конфигурации!
public class WindsorControllerFactory : IControllerFactor
{
IWindsorContainer container;
public WindsorControllerFactory()
{
container =
new WindsorContainer(
new XmlInterpreter(
new ConfigResource("castleWindsor")
));
container.Register(
AllTypes.Of<IController>()
.FromAssembly(Assembly.GetExecutingAssembly())
.Configure(component => component.LifeStyle.Transient
.Named(component.Implementation.Name)
));
}
}