2012-02-06 3 views
2

내 웹 사이트 중 하나에서 웹 아래 텍스트에 표시된대로 IBM.DATA.DB2.dll (GAC, 버전 9.0.0.2)에 대한 참조를 추가했습니다. 의 .config : -GAC와 다른 버전을 가리키는 참조 추가

그러나 나는 내 프로젝트를 빌드 할 때 오류 mrssage에 아래 그림과 같이, 그것은 DLL의 다른 버전을 가리 시도 : -

"파일 또는 어셈블리 'IBM.Data.DB2, 버전 = 9.7.4.4, 문화 = 중립, PublicKeyToken = 7c307b91aa13d208'또는 해당 종속성 중 하나를로드 할 수 없습니다. 찾은 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다. (HRESULT 예외 : 0x80131040) "

GAC (C : // Windows/Assemblies)를 검사했는데 버전 9.7.4.4에 대한 참조가 표시되지 않습니다.이 문제에 관해 도움을 주셔서 감사합니다.

감사합니다, Abhi.

답변

3

fuslogvw.exe를 사용하여 문제를 해결할 수있었습니다. 로그에서 "C : \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Config"경로의 machine.config 파일에 버전 리디렉션이 있음을 알았습니다.이 폴더는 참조 9.0.0.2에서 9.7로 리디렉션되었습니다. 4.4.

<dependentAssembly> 
<assemblyIdentity name="IBM.Data.DB2" publicKeyToken="7c307b91aa13d208" culture="" /> 
<bindingRedirect oldVersion="8.0.0.0-9.0.0.4" newVersion="9.7.7.4" /> 
</dependentAssembly> 

9.7.4.4를 9.0.0.2로 변경하면 문제가 해결됩니다.

감사합니다. Abhi.

0

은? true로 설정 "특정 버전"속성이 어떤 버전으로 연결할 수있는 경우는 다음 특성 false에.이 허용됩니다 설정? 그 버전이 필요합니까합니까 어떤 버전의 어셈블리와도 연결하는 프로젝트.

이 특정 버전에서 당기는 다른 종속성 중 하나의 종속성이 있어야합니다.

이전 버전이 필요하고 최신 버전이 필요하다면 다른 문제가 발생합니다. 이는 응용 프로그램을 업그레이드하거나 이전 버전을 참조하는 3 rd 어셈블리 버전을 찾는 경우에만 해결할 수 있습니다.

최신 버전이 있는지 확인하려면 두 버전을 확인하십시오 (버전 9.0.0.2가 있고 Visual Studio에서 버전 9.7.4.4를 찾고있는 경우에는 보이지 않습니다). 해당 버전을 다운로드하여 설치하십시오.