4
아래 그림과 같이 내가 같은 간단한 작업을 수행하여 등록 된 모든 유형의 목록을 얻을 수 있습니다 나타냅니다 Autofac 워드 프로세서/위키 많이 읽고 :Autofac의 해결은 <IEnumerable을 <T>>()는 빈리스트를 반환
var builder = new ContainerBuilder();
builder.RegisterAssemblyTypes(Assembly.GetExecutingAssembly())
.AssignableTo<IPersistedModel>();
var container = builder.Build();
var allTypes = container.Resolve<IEnumerable<IPersistedModel>>();
문제는 allTypes가 비어 있습니다.
디버거에서 컨테이너 내부를 볼 수 있으며 7 개의 일치하는 유형과 심지어 IPersistedModel 배열이 있지만 Resolve()에서 반환되지 않습니다.
무엇이 누락 되었습니까?
내가이이어야 3.5 – arviman
@arviman에 AssignableTo()''없이 작동 생각 예, 그렇습니다. 등록 된 타입을 제한하는 것만으로 (어떤 타입이든 어셈블리에 _all_ 타입을 등록 할 것입니다. 아마도 원하지 않는 타입 일 것입니다). –
porges