먼저 어셈블리가 실제로 GAC에로드되었는지 확인할 수 있습니다. 다음 시도 할 수있는 일을 위해 :
Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.30319.1
Copyright (c) Microsoft Corporation. All rights reserved.
The Global Assembly Cache contains the following assemblies:
System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86
System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86
Number of items = 3
그런 ReflectionOnly 사용을 위해 GAC에서 어셈블리를로드하기 위해 당신이 시도 할 수 있습니다와 GAC에서 어셈블리의 세부 사항을 제공 할 것
gacutil /l System.Data
ReflectionOnlyLoad
대신
ReflectionOnlyLoadFrom
예 :
Assembly testAssembly = Assembly.ReflectionOnlyLoad(@"System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86");
if (testAssembly.GlobalAssemblyCache) {
Console.WriteLine(testAssembly.FullName);
Console.WriteLine(testAssembly.Location);
} else {
Console.WriteLine("Not found in GAC");
}
도움이
System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll
희망 :
는 위의 다음과 같은 출력을 제공합니다!
정말 도움이 될 것 같습니다. 하지만 gacutil/l TestReflection.dll을 실행하면 0 개의 어셈블리가 발견되었습니다. 그러나 실제로 .NET 4.0의 GAC 폴더로 이동하면 어셈블리가 표시됩니다. 어떤 아이디어가 문제 일 수 있습니까? – Learner
@Amey :'gacutil/i'옵션을 사용하여 어셈블리를 GAC에 설치하고 있습니까? –
예, gacutil을 사용하여 GAC에 어셈블리를 설치하는 데 동일한 옵션을 사용하고 있습니다. – Learner