2010-06-14 6 views
1

VB.Net Windows 응용 프로그램에 이상한 문제가 있습니다. 내 컴퓨터 (개발 PC)에서 최신 버전의 exe 및 dll을 실행하지만 내 동료 (개발자가 아니며 디버깅 할 수 없음)의 컴퓨터에서 이전 버전이 실행됩니다. 그는 새로운 버전의 모든 파일을 덮어 쓰기했습니다다른 컴퓨터에서 동일한 dll 버전이 다른가요?

alt text http://www.bilder-hochladen.net/files/4709-kn.jpg

가 나는 이유를 찾기 시작 위치를 잘 모릅니다.

EDIT : 내가 한 첫 번째 일은 내 동료의 PC를 다시 시작하는 것이지만 아무 쓸모가 없었습니다.

dll은 언제 전역 어셈블리 캐시에 설치되어 있습니까? 내가하여 gacutil.exe와 GAC에 검색 만했기 때문에 찾을 수 없습니다

C :> C : \ WINDOWS \ Microsoft.NET 프레임 워크 \ \ V1.1.4322 \하여 gacutil.exe/ℓ Rule.dll Microsoft (R) .NET 전역 어셈블리 캐시 유틸리티. 버전 1.1.4318.0 저작권 (C) Microsoft Corporation 1998-2002. 판권 소유. 는 전역 어셈블리 캐시는 다음 어셈블리가 포함 는 NGEN 파일의 캐시는 다음과 같은 항목이 포함되어 있습니다 항목의 수 = 0

나는 또한 어셈블리 폴더로 보였지만이 이러한 DLL의의의를 찾을 수 없습니다했습니다.

추가 정보 : DLL의 중 하나는 코드 숨김에서 동적으로로드됩니다 다른 사람이 특정 프로젝트에서 참조 System.Reflection.Assembly.LoadFrom ("Rule.dll을").

답변

1

당신이 모든 버전을 덮어 쓴다고 말하면 정말 확실합니까? 예를 들어, GAC에 파일 시스템에 대한 검색 만하면 찾을 수없는 버전이있을 수 있습니까?

+0

감사합니다. 전역 어셈블리 캐시에 dll은 언제 설치됩니까? 내 업데이트 된 질문보기 –

+0

@Tim : 일반적으로 GacUtil과 함께 설치되거나 Windows 탐색기를 사용하여 'Assembly' 폴더로 드래그 앤 드롭합니다. Windows 탐색기를 사용하여'Assembly' 폴더를 찾아 볼 수도 있습니다. 그래서 거기에 없는지 확인하는 것이 좋습니다. 폴더는 Windows 디렉토리에 있습니다. –

+0

Assembly 폴더에서 이미 보았지만 거기에있는 DLL을 찾을 수 없습니다. –

1

ho1's answer이 모두 가능한 원인 일 수 있으므로 .NET에서 바인딩을 어셈블리하는 전체 주제를 조사해야합니다. 어셈블리 바인딩 리디렉션 및 게시자 정책을 포함하여 .NET에서 특정 어셈블리를 찾는 데 필요한 위치와 영향을 줄 수있는 다양한 요소가 있습니다.

http://www.techbubbles.com/net-framework/assembly-binding-in-net-framework/

구글 당신이 경우, 당신은 더 많은 확인할 수있는 것들 : 다음은이 주제의 일부를 설명 일품입니다.

관련 문제