2013-10-24 1 views
-1

log4net을 사용하여 Windows CE/Windows Embedded 프로젝트에 로깅을 제공하려고합니다. 프로젝트를 디버깅 할 때 그러나, 나는TypeLoadException from log4net LogManager.GetLogger

System.TypeLoadException이 메시지 = "TypeLoadException이" 스택 트레이스 발생 다음과 같은 예외를 얻을 : log4net.LogManager.GetLogger (조립 repositoryAssembly, 문자열 이름) log4net.LogManager에서 에서. GetLogger Sis.SiLogCE.Broker.EntryPoint.Program.Main에서 Sis.SiLogCE.Broker.StartBroker..cctor() 에서 (종류 형) () 다음 줄에서

:

private static readonly ILog log = LogManager.GetLogger(typeof(StartBroker)); 

이 처음에는 내가 잘못 DLL을 사용되었을 수 있습니다 생각/오래된 DLL은 그래서 최신 버전을 다운로드 - 나는 1.2.12-bin-newkey에서 log4net.dll를 사용하여 .NET-CP 3.5에서 발견하고있다.

나는 다른 예제를 보았지만 문서와 나는 여기에 타입로드 예외를 얻지 못하는 이유가 없다. 나는 이제 부부가 그 예외를 일으키는 것에 관해서는 꽤 많은 생각을하고 있습니다.

배경 정보 :

응용 프로그램은 윈도우 CE 6 및 Windows에서/윈도우 모바일 6과 6/5 장치 내장 배포 할 수 있습니다.

.NET "log4net.config"라는 XML 파일에서 log4net에 대한 설정을로드 3.5 .netcf

다음 블록을 보여줍니다.

string path = Path.GetDirectoryName(Assembly.GetExecutingAssembly(). 
     GetModules()[0].FullyQualifiedName) + "log4net.config"; 

    if (File.Exists(path)) 
    { 
     XmlConfigurator.ConfigureAndWatch(new FileInfo(path)); 
    } 

편집 :

지금까지 난 단지 주춤 6.0에서 테스트했습니다 그래서 난 그냥 윈도우 모바일 6.5와 함께 총을 했어 - 그것은 다를 바없는, 같은 예외가 표시됩니다.

+0

내부 예외 란 무엇입니까? – sgmoore

+0

@sgmoore - 불행히도, 하나도 없습니다. – Kobunite

답변

1

바이너리 릴리스를 사용하고 있습니까, 아니면 출처에서 제작하셨습니까? Compact Framework 1.0 & 2.0은 이 아니며 이진 릴리스에서 지원되는이면서 소스 릴리스에서 빌드 된 경우 지원되는 것으로 this 페이지에서 언급합니다.

+0

나는 방금 그 페이지를 읽고 있었다. - 게시 해 주셔서 감사합니다. 아아, 이제 .net cf 빌드가 있습니다. * Facepalm * 내 얼굴을 빤히 쳐다 보던 어리석은 실수. TY. – Kobunite