2009-11-03 1 views
0

업데이트 : 로그를 가져 오기 위해 fuslogvw.exe를 사용해 보았습니다. 하지만 정확히 내가 뭘 찾고 있니? 안타깝게도, 로그는 매우 성가신 덴마크어로되어 있습니다 (누군가가 말 그대로 오류 로그 메시지로 덴마크어로 모든 것을 문자 그대로 번역하는 것이 좋은 아이디어라고 생각했지만 기본적으로 Google을 쓸모 없게 만듭니다. 원본 영어 텍스트를 추측해야합니다. 좋은 타격, grrrr). 번역은 다음과 같아야합니다 : "LOG : 원본 이미지 System.Windows.Forms.resources, 버전 2.0.0.0, 문화 = da-DK, PublicKeyToken = b77a5c561934e089의 바인드 시작 WRN : 일치하는 원본 이미지가 없습니다. 녹이다".Windows Forms app, 시작시 예외 : System.Xml을로드 할 수 없습니다.

나는이 로그를 처음 접해 보았으므로 제안은 여전히 ​​유효합니다.

Properties.Settings를 사용하여 설정을 저장하는 Windows Forms 응용 프로그램이 있습니다. 최근에 다른 .Net 응용 프로그램을 다운로드하여 설치했습니다. 이제는 갑자기 내 자신의 Windows Forms 응용 프로그램이 시작될 때 즉시 예외를 throw합니다 (여기서 설정을로드하려고 시도합니다). 이 오류는 "파일 또는 어셈블리 System.Xml, 버전 = 2.0.0.0, PublicKeyToken = b77a5c561934e089 또는 종속성 중 하나를로드 할 수 없습니다. 모듈에 어셈블리 매니페스트가 포함될 것으로 예상됩니다."와 같은 오류가 표시됩니다.

Windows \ assembly 폴더에 올바른 버전 및 공개 키가있는 System.Xml이 있으므로이 오류의 원인을 찾을 수있는 실마리가 없습니다.

제안 사항은 특히 .Net 지식에 대한 큰 차이가 있다고 생각하므로 제안 사항을 읽어야합니다.

감사합니다.

답변

2

이것은 부분적으로 추측이지만 시도해 볼 가치가 있습니다.

app.config 파일을 살펴보십시오. System.XML을 참조하는 구성을 찾으십시오. 어떤 것이 있으면 바인딩에서 버전 번호를 제거하십시오. 엔터프라이즈 라이브러리의 여러 버전에서 비슷한 문제가 발생했습니다.

어셈블리 바인딩 로그 뷰어 (fuslogvw.exe)를 사용하면 바인딩 실패에 대한 자세한 정보를 얻을 수 있습니다. 시작하고 모든 바인딩 (또는 원하는 경우 실패)을 기록한 다음 로그를 지우고 응용 프로그램을 실행하고 새로 고침을 누른 다음 System.XML 실패에 대한 바인딩 로그를 살펴 봐야합니다. 그러면 런타임에서 어셈블리를 찾는 위치와 바인드가 실패한 이유에 대한 정보가 제공됩니다.

+0

다음은 애플리케이션 .config 파일의 스 니펫입니다. 내가 올바르게 당신을 이해한다면 버전 = 2.0.0.0 부분을 삭제해야합니까? <섹션 이름 = "MyApp.Properties.Settings"type = " System.Configuration.ClientSettingsSection, 시스템, 버전 = 2.0.0.0, 문화 = 중립, PublicKeyToken = b77a5c561934e089 "allowExeDefinition ="MachineToLocalUser "requirePermission는 ="false로 "/> 가

+0

번호,이 모든 것을 남겨 아무도의가 의미 없다 System.XML 어셈블리에. fuslogvw를 사용해 보시길 권합니다. –

0

컴퓨터에 .NET 2.0이 설치되어 있는지 확인하십시오 (.NET 3.0 만 설치되어 있으면 충분하지 않음). 원본 응용 프로그램이 컴파일되는 프레임 워크 버전에 대한 자세한 정보를 제공해주십시오. 도움이 되었으면 알려주세요

+0

.NET 2.0, 3.0, 3.5 SP1을 설치했습니다. 어떻게 이것들의 "상태"를 확인할 수 있습니까? 또한 응용 프로그램의 컴파일 버전을 확인하려면 어떻게합니까? 이 정보는 바이너리 .exe에 "포함"되어 있습니까? –

+0

컴퓨터에 .NET 2.0이 설치되어 있는지 확인하려면 명령 줄에서 다음 명령을 실행하십시오. dir % WINDIR % \ Microsoft.NET \ Framework \ v2.0.50727 응용 프로그램이 컴파일되는 .NET 프레임 워크를 확인하려면 프로젝트 -> 속성 -> 응용 프로그램 -> 대상 프레임 워크를 확인하십시오. 기존 실행 파일이나 어셈블리를 확인하려면 Reflector에서 열고 참조 된 mscorlib.dll의 버전을 확인하십시오. 이것은 프레임 워크의 버전입니다. –

관련 문제