I am trying to successfully leverage a combination of the fluent- component registration and XML component registration in Windsor and have seemingly hit a roadblock where it appears that each of the two component registration 'techniques' needs to be wholly self-sustaining in re: its component registrations...?
As an example, assume I have the following two classes... public class MyService : IService { public ISubService SubService { get; set; } public MyService (ISubService subService) { SubService = subService; } } public class MySubService : ISubService { } Basically, MyService has a dependency on ISubService (which is implemented by the MySubService class. In my situation, I have the two interfaces, IService and ISubService, defined in a single separate assembly. The MyService class is then defined in a different assembly than the MySubService class, each of their assemblies reference the common Interfaces assembly, of course. I presently have the following component registration sequence.... IWindsorContainer container = new WindsorContainer(); container.Register(Component.For<ISubService>() .ImplementedBy<MySubService>() .LifeStyle.Is(Castle.Core.LifestyleType.Transient)); container.Install(Configuration.FromXmlFile("Castle.cfg.xml")); ...and the relevant XML registration in my Castle.cfg.xml file is... <component id="theService" service="IService, Interfaces" type="MyService, ServiceAssembly" /> Even though the ISubDependency implementation, MySubDependency, has already been registered in the container via the fluent interface, when the following call is made in code.... IService theThing = container.Resolve<IService>(); ...I get a complaint from the container that it cannot resolve IService because its waiting on an unsatisfied dependency of ISubService (which it claims is not registered). Obviously, ISubService *is* already in the container as it was registered via the fluent API (and I can confirm its there via inspecting it in the debugger and calls to container.Resolve<ISubService>() do succeed just fine). But somehow it seems as though the container is not able to 'consider' registrations that come from two differnt methods (e.g., one from the fluent API and another from the XML file). Is this expected behavior, a bug, or is it that I'm just too dense to grok what I'm doing wrong here...? >From this experience, it would seem that while its possible combine both fluent *and* xml-based component registrations, its *not* possible to have a component registered via one method depend on a component registered via the other method...? Any assistance appreciated~! -Steve B. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Castle Project Users" group. To post to this group, send email to castle-project-users@googlegroups.com To unsubscribe from this group, send email to castle-project-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/castle-project-users?hl=en -~----------~----~----~----~------~----~------~--~---