2012-07-19 3 views
0

Microsoft에서 XML을 비교하기 위해 두 dll 어셈블리를 사용하고 있습니다. XmlComparer.cs는 Microsoft.XmlDiffPatch를 사용하며 Visual Studio에서 두 참조가 올바르게 추가됩니다.완고한 조립, 잘못된 열쇠? 아니면 강력한 이름 문제입니까?

Error: Could not load file or assembly 'XmlDiffPatch, Version=1.0.8.28, Culture= neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The locate d assembly's manifest definition does not match the assembly reference. (Excepti on from HRESULT: 0x80131040) exception: System.IO.FileLoadException: Could not load file or assembly 'XmlDiff Patch, Version=1.0.8.28, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or on e of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) File name: 'XmlDiffPatch, Version=1.0.8.28, Culture=neutral, PublicKeyToken=b03f 5f7f11d50a3a' at XmlCompareLib.XmlComparer.Compare(String comparisonOptions, String sourceX mlFileName, String changedXmlFileName, String resultHtmlViewFile) in C:\Users\xx\Documents\Visual Studio 2010\Projects\ConsoleApplication3\ConsoleAp plication3\XmlComparer.cs:line 214 at Ionic.Zip.Examples.ReadZip.Main(String[] args) in C:\Users\xx\ Documents\Visual Studio 2010\Projects\ConsoleApplication3\ConsoleApplication3\Pr ogram.cs:line 44

WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Md icrosoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure lo gging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fus ion!EnableLog].

나는 그것이 강력한 이름과 관련이 있다고 생각 : 그러나 나는이 메시지가 나타납니다. 왜냐하면 나는 두 개의 DLL을 검사했기 때문에 강력한 이름이 아니기 때문에 어셈블리의 키와 강력한 이름을 생성하려고했지만 분명히 동일한 키가 아니 었습니다. 지금 막 혔어.

+0

어쩌면 이러한 DLL-의 호출이 다른 내부적으로 그 중 하나가 누락 된 DLL-S 또는 서로 다른 버전이 때

다시 설정 창으로 이동하고 로깅을 해제하는 것을 잊지 마십시오? 그냥 아이디어를 던지고. – Leri

답변

0

이것은 일반적으로 퓨전 로거를 켜고 모든 바인딩을 기록하는 지점입니다. 퓨전의 로그 아웃은 일반적으로 수행중인 작업에 대해 조금 더 명확합니다.

Fusion 로깅을 사용하려면 VisualStudio 명령 프롬프트를 열고 "fuslogvw.exe"를 실행하십시오. 광산은 다음 위치에 설치됩니다.

C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 Tools\x64\FUSLOGVW.exe

그러나 설치에 따라 다를 수 있습니다.

그런 다음 "설정"버튼을 클릭하고 라디오 버튼을 뒤집은 다음 응용 프로그램을 실행하고 융합 로거에서 "새로 고침"을 클릭하여 로깅을 활성화하면 모든 바인딩이 표시됩니다 (실패한 것). 당신이 :) 수행