프리즘 응용 프로그램에 log4net 지원을 추가하려고합니다. 불행하게도 나는 각 프리즘 모듈에 대한 다음과 같은 오류가 발생합니다 :프리즘 + Log4Net 빌드 오류 : "어셈블리 log4net에 대한 종속성을 해결할 수 없습니다"
오류 101 알 수없는 빌드 오류를 log4net, 버전 = 1.2.10.0 '어셈블리에 대한 종속성을 확인할 수 없습니다', PublicKeyToken = 1b44e1d426115821 '가되지 않았기 때문에 문화 = 중립 미리로드되었습니다. ReflectionOnly API를 사용할 때 종속 어셈블리는 미리로드되거나 ReflectionOnlyAssemblyResolve 이벤트를 통해 필요할 때로드되어야합니다. ' [PRISM MODULE 1 PROJECT NAME]
오류 101 'log4net, 버전 = 1.2.10.0, Culture = neutral, PublicKeyToken = 1b44e1d426115821'어셈블리에 대한 종속성을 미리 확인할 수 없으므로 알 수없는 빌드 오류가 발생합니다. ReflectionOnly API를 사용할 때 종속 어셈블리는 미리로드되거나 ReflectionOnlyAssemblyResolve 이벤트를 통해 필요할 때로드되어야합니다. ' [PRISM MODULE 2 프로젝트 이름]
요법 ...
I는 다음과 같이 로거를 설정 :
- 는 I 메인 애플리케이션과 부트 스트랩 모두 log4net 어셈블리 참조했다.
- app.config 파일에 log4net 구성을 추가했습니다.
- [assembly : log4net.Config.XmlConfigurator (Watch = true)]을 App.xaml.cs 파일에 추가했습니다.
- ILoggerFacade를 구현하는 로거를 생성하고 Bootstrapper에서 CreateLogger()를 덮어 쓰면 내 사용자 정의 로거가 반환됩니다.
그게 전부입니다. 빌드하려고하면 위의 각 프리즘 모듈 프로젝트에 대한 오류로 실패합니다. 내가 발견 한 유일한 해결 방법은 수동으로 각 프리즘 모듈 프로젝트에 log4net 참조를 추가하는 것이 었습니다. ILOGgerFacade와 실제 구현의 의존성 사이의 추상화를 물리 칠 수있는 종류라고 생각합니다.
오류가 발생하면 ReflectionOnlyAssemblyResolve 이벤트를 사용하는 것이 좋지만 런타임이 아닌 빌드 오류이므로 여기에서 도움이 될 수있는 방법은 없습니다.
어떤 제안? :-)