如何在不知道版本的情况下加载程序集?

时间:2013-07-11 15:37:07

标签: c# gac

我想从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中指定版本时工作正常。

是否可以在不知道版本的情况下执行此操作?

2 个答案:

答案 0 :(得分:0)

您是否尝试过查看GAC的内容?您可以通过启动以下命令来执行此操作:

gacutil -l

这应该告诉你装配的版本。

请阅读How to: View the Contents of the Global Assembly Cache

的MSDN文档

答案 1 :(得分:0)

虽然它已被弃用,您是否尝试过Assembly.LoadWithPartialName(dllname);