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