2009-04-01 6 views
0

안녕하세요, 현재 서명 된 클래스 라이브러리 (Noizwaves.Core)에 대한 종속성 (프로젝트 참조)이있는 프로젝트 (Noizwaves.Client)를 실행하려고합니다. Noizwaves.Core에는 어셈블리 버전이 2.0으로 설정되어 있습니다. *. 두 프로젝트가 동일한 VS2008 솔루션 파일 내에 있습니다. Noizwaves.Client가 기본 시작 프로젝트로 설정됩니다.1 VS 솔루션의 혼합 서명 어셈블리?

모든 프로젝트 (및 솔루션) VS 괜찮 구축,하지만 난 Noizwaves.Client를 실행할 때, 나는이 다음과 같은 예외 얻을 :

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

Noizwaves.Client의 디버그 디렉토리를 보면 Noizwaves.Core의 버전이 2.0.3378.15613임을 알 수 있습니다.

저는 프로젝트의 빌드 설정/순서가 VS2008에서 비롯된 것이라고 생각합니다. 현재 설정은 모두 기본값으로 설정됩니다.

누구든지이 문제를 해결할 수 있습니까? 감사!

답변

1

클라이언트 프로젝트는 어떤 종류의 참조를 코어 DLL에 가지고 있습니까? 파일 참조 또는 프로젝트 참조입니까? 참조를 제거한 다음 프로젝트 참조로 다시 추가하십시오.

+0

안녕하세요, 프로젝트 참조로 참조를 포함하도록 설명을 수정했습니다. – NoizWaves

2

Noizwaves.Client가 다른 위치에서 Noizwaves.Core를로드하고 있습니다. Noisewaves.Core가 GAC에 있습니까? 비주얼 스튜디오에서 일부 폴더에서 (이 같은

설정 레지스트리 : (예 : C : \ Program Files \ 마이크로 소프트 비주얼 스튜디오 9.0 \ Common7 \ IDE \ PublicAssemblies)

그 doensn't 도움이 다음을 시도 할 수있는 경우 난 당신이 원래 상태로 되돌릴 수 있도록) 원래 값의 복사본을 만들 제안 :

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion] 
"ForceLog"=dword:00000001 
"LogFailures"=dword:00000001 
"LogPath"="C:\\Temp\\FusionLog" 

을 그리고 폴더 C를 만들 :주의/온도/FusionLog합니다.

Fusion은 어셈블리 찾기 /로드를 담당하는 .NET Framework의 일부입니다.

이 변경 후 모든 .NET 응용 프로그램에 해당 폴더에 많은 로그 파일이 있습니다.

관련 문제