如何在不知道版本的情况下加载程序集
本文关键字:情况下 加载 程序集 版本 不知道 | 更新日期: 2023-09-27 18:22:09
我想从GAC加载一个程序集,但我不知道它的版本。我确实知道AssemblyName
和PublicKeyToken
。
string dllname="gacname"; //Name os assembly
AssemblyName name = new AssemblyName(string.Format("{0}, PublicKeyToken=dd3cb1c9aae9ec97" ,dllname));
var x = Assembly.Load(name);
此代码引发一个异常:
无法加载文件或程序集。。。
dllname
是正确的,因为当我在AssemblyName
中指定版本时,它可以正常工作。
在不知道版本的情况下可以这样做吗?
您尝试过查看GAC的内容吗?您可以通过启动以下命令来完成此操作:
gacutil -l
这将告诉您程序集的版本。
请阅读MSDN文档中的"如何:查看全局程序集缓存的内容"
尽管它已被弃用,但您尝试过Assembly.LoadWithPartialName(dllname);
吗?