I’ve got a IRunningTaskFactory which is registered with Windsor AsFactory() using the Typed Factory Facility. The interface has a single method that looks like this:
RunningTask Create(ITask task);
Where RunningTask is registered with Windsor as being transient has a constructor:
public RunningTask(ITask task, ITaskConfigurationFactory taskConfigurationFactory)
where ITaskConfigurationFactory is registered with Windsor as well.
The problem I’m running into is that when I call the Create method and pass an ITask along I get the following error:
Castle.MicroKernel.Resolvers.DependencyResolverException
: Missing dependency. Component
Husky.nHuskyTasker.Core.Tasks.RunningTask
has a dependency on
Husky.nHuskyTasker.Core.Tasks.ITask,
which could not be resolved. Make sure
the dependency is correctly registered
in the container as a service, or
provided as inline argument
From what I read in the documentation this should be working.
Thoughts?
I found that if you specify a dummy registration for the type with variable instances then your parameter gets passed in without errors:
But I agree, this should work without having to have that mock implementation and extra registration.
Note that registering ITask will have the side-effect of Windsor auto-wiring any public properties involving that type, which you may need to suppress