2017-12-21 2 views
0

을 제거 나는 밖으로 공분산와 잘 작동하는 화합 등록을 가지고,하지만 난 그것을 제거하면, 나는 오류를유니티 컨테이너 - ResolutionFailedException 공분산

"클래스 이름"GET "Microsoft.Practices합니다. Unity.ResolutionFailedException ", "메시지 : "종속성 확인에 실패했습니다. 유형 = \"REDACTED.IChatTranscriptBc 1[REDACTED]\", name = \"REDACTED\".\r\nException occurred while: Calling constructor Microsoft.Practices.Unity.InterceptionExtension.PolicyInjectionBehavior(Microsoft.Practices.Unity.InterceptionExtension.CurrentInterceptionRequest interceptionRequest, Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy[] policies, Microsoft.Practices.Unity.IUnityContainer container).\r\nException is: ArgumentException - Interface not found.\r\n-----------------------------------------------\r\nAt the time of the exception, the container was:\r\n\r\n Resolving REDACTED.ChatTranscriptBc,REDACTED (mapped from REDACTED.IChatTranscriptBc 1 [REDACTED], REDACTED) \ r \ n Microsoft.Practices.Unity.InterceptionExtension.PolicyInjectionBehavior, (none) \ r \ n 생성자 Microsoft.Practices.Unity.InterceptionExtension.PolicyInjectionBehavior (Microsoft.Practices.Unity.InterceptionExtension.CurrentInterceptionRequest interceptionRequest, Microsoft.Practices.Unity.Interce)를 호출합니다. ptionExtension.InjectionPolicy [] 정책, Microsoft.Practices.Unity.IUnityContainer 컨테이너) \ r은 N "

내 인터페이스는 작동 \ 때

public interface IChatTranscriptBc<out TTranscript> 
    where TTranscript : Transcript 

이 중단 내 인터페이스

public interface IChatTranscriptBc<TTranscript> 
    where TTranscript : Transcript 

문자 그대로, 유일한 변경은 "out"을 제거하는 것입니다. 모든 라이브러리를 다시 작성하고 컴퓨터를 재시작했습니다. 왜 공분산의 제거가 화합을 어기는 지 아는 어떤 생각?

답변

0

나는 그것을 알아 냈다. 필자는 IChatTranscript와 일치하는 구체적인 클래스를 찾아 내고 그 정확한 정의와 일치하지 않았습니다 (Transcript 자체가 아닌 Transcript 구현을 사용하고있었습니다). 거품이 생기고, 그것은 그 오류를 던졌다.

관련 문제