0
我有两个类从同一个基类继承。当类继承相同的基类时,使用Castle Windsor注入依赖关系
public class UserDetailValidator : BaseValidator<UserDetail>{
public UserDetailValidator(IRepository<Person, Guid> userRepository, AddressValidator addressValidator)
{
RuleFor(x => x.FirstName).Length(1, 10);
}
}
public class AddressValidator : BaseValidator<Address>
当我尝试并获得从WindsorServiceLocator的UserDetailValidator我得到的错误
丢失的依赖。 组件UserDetailValidator对AddressValidator有依赖关系,无法解析。 确保依赖项在容器中作为服务正确注册,或者作为内联参数提供。我在我的ValidationInstaller中使用了以下内容。
container.Register(
AllTypes.FromAssemblyNamed("Validation")
.IncludeNonPublicTypes()
.BasedOn(typeof(IValidator<>))
.WithService.AllInterfaces()
.LifestyleTransient()
注入IRepository组件时没有问题。只有AddressValidator没有进来,我没做好什么?我正在使用Castle Windsor 3.0