2013-07-11 5 views
0

GAC에서 어셈블리를로드하고 싶지만 해당 버전을 모릅니다. 나는 AssemblyNamePublicKeyToken을 알고있다.버전을 알지 못하는데 어떻게 어셈블리를로드 할 수 있습니까?

string dllname="gacname"; //Name os assembly 
AssemblyName name = new AssemblyName(string.Format("{0}, PublicKeyToken=dd3cb1c9aae9ec97" ,dllname)); 
var x = Assembly.Load(name); 

이 코드에서 예외가 발생합니다 :

파일 또는 어셈블리 ...

나는의 버전을 지정할 때 잘 작동하기 때문에 dllname이 올바른지를로드 할 수 없습니다 AssemblyName.

버전을 모르면이 작업을 수행 할 수 있습니까?

+0

@igor - 버전을 알지 못해 어셈블리를로드하는 방법을 묻는 경우 질문에 더 자세히 설명해주십시오. 귀하의 질문에 "...,하지만 그 버전을 모르겠다"; 제게 그것은 당신이 간접적으로 그 버전을 찾는 방법에 대한 도움을 요청하고 있음을 의미합니다. –

+0

나는 질문을 변경했다! –

답변

0

GAC의 내용을 보았습니까? 다음 명령을 시작하여이를 수행 할 수 있습니다.

gacutil -l 

이것은 어셈블리 버전을 알려줍니다. 이 사용되지 비록

당신이 Assembly.LoadWithPartialName(dllname);을 시도, How to: View the Contents of the Global Assembly Cache

+0

이것이 버전을 모른 채 어셈블리를로드하는 데 도움이되지 않으므로 @igor가 묻는 것 같지 않습니다. – Fishcake

+1

질문이 진술되는 방식은 그가 버전을 모르는 것이므로 버전을 찾는 방법을 알려주고 있습니다. @igor가 버전을 알고 싶지 않다면, 그는 질문에 그 사실을 기술해야합니다. –

0

에 대한 MSDN 설명서를 읽어 보시기 바랍니다?

+0

네, 노력했지만 효과가 있지만 사용되지 않는 메소드는 사용할 수 없습니다. –