2013-01-23 8 views
4

전역 어셈블리 캐시 (GAC)와 관련하여 시스템에서 이상한 동작을 감지했습니다. 내가 관심이있는 어셈블리는 은 1.2.11.0어셈블리가 GAC에 위치하지 않지만 gacutil이 해당 어셈블리를 보여줍니다.

gacutil /l "log4net"의 출력은 = log4net 버전입니다 :

C : \ WINDOWS \ system32를> gacutil/L "log4net"마이크로 소프트 (R). NET 글로벌 어셈블리 캐시 유틸리티. 버전 4.0.30319.1 저작권 (c) Microsoft Corporation. 판권 소유.

전역 어셈블리 캐시는 다음 어셈블리가 포함
log4net, 버전 = 1.2.10.0, 문화 = 중립, PublicKeyToken = 1b44e1d426115821, processorArchitecture = MSIL
log4net, 버전 = 1.2.11.0을, 문화 = 중립, PublicKeyToken = 항목 669e0ddf0bb1aa2a, processorArchitecture = MSIL

번호 = 2

그러나 탐색기 셸 (전 재시동 후) 한 버전이 도시 통해 GAC 시청 :

,369,136

enter image description here

이3210 내 응용 프로그램 어셈블리를 해결할 수 없다는 사실에 의해 혼합,하지만 난 응용 프로그램의 기본 (bin 폴더)에 배치 할 때 잘 작동한다. this article에 따르면 GAC는 이전에 으로 프로빙됩니다. GAC에없는 어셈블리를 가리 킵니다.

그래서 GAC에 log4net Version=1.2.11.0이 있습니까? 그렇다면 내 응용 프로그램에서 찾을 수없는 이유는 무엇입니까?

+2

나는 -1을 이해하지 못합니까? –

답변

6

.NET 2.0 GAC를 사용하고 있지만 log4net v1.2.11.0은 .NET 4 어셈블리입니다. .NET 4에는 %winddir%\Microsoft.NET\Assembly에있는 자체 GAC가 있습니다. 거기에있는 GAC_MSIL 디렉토리를 확인하면 찾으실 수 있습니다.

+0

나는 그것이 분리되었다는 것을 몰랐다! 나는 그것이 거기에있는 것처럼 보이지만 내 애플 리케이션이 그것에 해결하지 않는 이유를 확인할 수있다? –

+0

응용 프로그램이 .NET 3.5 또는 4.x입니까? –

+0

.NET 4.x에서 빌드 됨 –