문제

Enterprise Library 3.1 2007 년 5 월 버전을 사용할 때이 오류가 발생했습니다. 우리는 제품을 개발하고 있으며 Subversion Trunk 디렉토리 아래에 공통 LIB 디렉토리가 있습니다.

<> trunk lib 우리는 모든 제 3 자 dlls를 넣었습니다. 이 내부에는 Microsoft Enterpriselibrary v3.1이 있으며 여기에는 모든 DLL을 Program Files Microsoft Enterprise Library May2007 bin에서 복사했습니다. 개발자 중 한 명이이 컴퓨터에 소스 코드를 설치할 때까지 모든 것이 제대로 작동했습니다. 소스 코드 설치가 끝날 때 일부 DLL이 복사되었으며 일단 완료되면 더 이상 프로젝트를 실행할 수 없습니다. 그는 항상이 오류를 얻습니다

'microsoft.practices.enterpriselibrary.data, version = 3.1.0.0, culture = neutral, publickeyToken = null'또는 그 종속성 중 하나. 위치 어셈블리의 매니페스트 정의는 어셈블리 참조와 일치하지 않습니다. (hresult의 예외 : 0x80131040) '

여기서 문제는 무엇입니까? 소스 코드가 설치되면 소스 코드 상위 디렉토리의 BIN 디렉토리에 모든 것을 빌드하고 복사해야한다고 생각했습니다. 또한 2007 년 5 월 Microsoft Enterprise Library bin 디렉토리의 DLL을 제품 개발 디렉토리에 복사하고 Coplocal 플래그가 True로 설정된 프로젝트에 대한 참조로 복사했습니다.

누구든지 여기서 나를 도울 수 있습니까?

RK

도움이 되었습니까?

해결책

나는 서명 된 DLL 버전에 대해 개발했을 때 그것을 얻었고 서명되지 않은 버전 만 사용할 수있는 곳에 배포되었습니다.

또한, fuslogvw.exe. 모든. 시각.

다른 팁

오류가 자신이 가진 부호없는 소스 코드 컴파일에 대해 코드를 컴파일 한 개발자에 오류가 있다고 가정합니다.

코드를 컴파일하기 전에 서명 된 DLL에 대한 참조를 추가해야합니다.

Microsoft.practices.enterpriselibrary.data, 버전 = 3.1.0.0, Culture = Neutral, publicKeyToken = null

다음과 같아야합니다.

Microsoft.practices.enterpriselibrary.data, 버전 = 3.1.0.0, Culture = Neutral, publicKeyToken = FA03FEF243232

어쩌면 DLL의 어셈블리 및 파일 버전을 확인해야 할 수도 있습니다. 그들이 일치하지 않으면이 예외가 발생할 수 있습니다.

읽다 여기 어셈블리 로딩 디버깅을 시작합니다.

한마디로 자세한 내용은 Fusion 로그를 확인해야합니다.

[YourAssembly]가 이름을 가진 위치 어셈블리의 명백한 정의는 어셈블리 참조"메시지와 일치하지 않습니다 "메시지 (HRESULT FUSOIN_E_REF_MISMATCH, 0X80131040) : Fusion Log는 어셈블리 참조의 어느 부분이 발견 된 내용에 맞지 않는지 말할 것입니다. 조립 이름, 문화, 공개 키 (또는 토큰) 또는 버전 (발견 된 어셈블리의 이름이 강한 경우)이 될 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top