Nunca antes había usado Windsor pero he usado otros marcos DI, y tengo un problema bastante extraño en este momento.Castle Windsor 3 con argumento constructor como cadena
que tienen una clase de fábrica que tiene una cadena en su constructor, sin embargo cada vez que tratar de resolver ese objeto consigo una excepción diciendo:
Handler for System.String was not found.
<Message>Handler for System.String was not found.</Message>
<StackTrace>at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.TryGetHandlerFromKernel(DependencyModel dependency, CreationContext context) in d:\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\Resolvers\DefaultDependencyResolver.cs:line 403
at Castle.MicroKernel.Resolvers.DefaultDependencyResolver.ResolveCore(CreationContext context, ComponentModel model, DependencyModel dependency) in d:\60b7fa65294e7792\src\Castle.Windsor\MicroKernel\Resolvers\DefaultDependencyResolver.cs:line 270</StackTrace>
<Type>Castle.MicroKernel.Handlers.HandlerException</Type>
</InnerException>
<Message>Missing dependency.
Component SomeExampleFactory has a dependency on System.String, which could not be resolved.
Make sure the dependency is correctly registered in the container as a service, or provided as inline argument.</Message>
La clase se ve algo como:
public interface IDummyFactory
{
void DoSomething();
}
public class DummyFactory : IDummyFactory
{
private string someString;
public DummyFactory(string someConstructorArg)
{
someString = someConstructorArg;
}
}
con una configuración DI continuación:
var someString = "some constructor arg";
_container.Register(Component.For<IDummyFactory>().ImplementedBy<DummyFactory>().DependsOn(someString));
estoy asumiendo que está tratando de hacer algo tipo de moldeado o formateo que está causando que explote, pero como el tipo en sí es una cadena, y la variable se pasa en una cadena ... incluso puede ser que esté tratando de mapear el tipo de esa variable en lugar del contenido variable, pero no sé lo suficiente sobre el marco DI y la documentación por esta zona
¿Qué versión de Castle Windsor? –