我正在尝试使用 Assembly.Load() 加载 GAC 中的程序集。例如,假设我想列出存在于的所有类型演示核心.dll,我该如何加载演示核心.dll?
当我尝试这个时:
Assembly a = Assembly.Load("PresentationCore.dll");
I get a 文件未找到异常. SO的另一个答案 https://stackoverflow.com/questions/283419/how-to-just-load-the-latest-version-of-dll-from-gac/283880#283880建议我使用 Assembly.LoadFrom() 来完成此操作 - 我对此犹豫不决,因为根据 Visual Studio 2008,Assembly.LoadFrom() 已被弃用 - 另外,它似乎实际上不起作用。
有任何想法吗?
如果程序集位于 GAC 中,则必须通过其完全限定名称加载它。
例如,如果我想加载mscorlib.dll
我会做这样的事情:
Assembly a = Assembly.Load
("mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089");
确定程序集的完全限定名称的最简单方法是将程序集加载到反射器 http://www.red-gate.com/products/reflector/并使用Name下部显示窗格中的字段如下所示:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)