2009-08-05 5 views
21

어셈블리 막대 (버전 X.X.X.2000)에 대한 참조를 가진 Foo 어셈블리가 있습니다. 속성에서 특정 버전은 False로 설정됩니다. 내 로컬에 Bar (x.x.x.2000)와 Bar (x.x.x.1000)가 있습니다. GAC. 모든 것이 좋습니다.Visual Studio 2008에서 특정 버전 참조 사용

바의 어떤 버전은 GAC에없는 다른 컴퓨터에

하지만, 바 (xxx1000는)

로는 바 (xxx2000를) 찾을 수없는 주장 실패 푸를 실행, 푸와 같은 디렉토리에 있습니다

'Bar, Version = xxx2000, Culture = neutral, PublicKeyToken = YXYXYXYXXYX'또는 종속성 중 하나를로드 할 수 없습니다. 위치한 어셈블리의 매니페스트 정의가 어셈블리 참조와 일치하지 않습니다. (HRESULT 예외 : 0x80131040)

특정 버전이 False로 설정되었으므로 Foo가 Bar (x.x.x.1000)를 사용하지 않아야합니까?

어쩌면 구체적인 버전이 실제로 작동하지 않을 수도 있습니다.

스택 오버플로에 대한 특정 버전 참조에 대한 다른 질문이 있지만 그 어떤 도움도 저에게 도움이되지 않았습니다.

편집

추가 읽기 : http://www.code-magazine.com/article.aspx?quickid=0507041&page=3

+0

이는 강력한 이름 (서명) assemblys 발생 :

이 포럼 토론을 참조하십시오. – sloth

+0

http://blogs.msdn.com/b/irenak/archive/2005/12/13/503105.aspx를 참조하십시오. –

답변

25

"특정 버전"가능한 버전을 사용하도록 컴파일러에 지시 빌드 타임 속성입니다. 런타임에 프레임 워크는 빌드시 사용 된 특정 버전의 어셈블리를 여전히 찾습니다. 버전은 검사를 사용하는 사람들과 발생하기 때문에, http://forums.asp.net/t/1251728.aspx

관련 문제