C#: How to load assembly from GAC?

拟墨画扇 提交于 2019-11-26 17:03:00

问题


I have "mycomp.myassembly.dll" in GAC but Load and LoadFrom throws file not found exception and LoadWithPartialName returns null. I'm doing the following:

    AssemblyName name = new AssemblyName();
    name.Name = "mycomp.myassembly.dll";

    Assembly assembly = Assembly.Load(name);

fails with FileNotFound for mycomp.myassembly.dll file, and

    Assembly assembly = Assembly.Load("mycomp.myassembly.dll");

fails with exactly the same message.

I double checked that assembly is in GAC (and even did gacutil /if for it again) and it does work in all other cases, I just unable to load it myself.

What am I doing wrong here? Do I miss something?


回答1:


Have you tried using the fully qualified assembly name? (e.g. "ycomp.myassembly.dll, Version=1.0.2004.0, Culture=neutral, PublicKeyToken=8744b20f8da049e3")




回答2:


try simply loading with the full name

 // You must supply a valid fully qualified assembly name.            
        Assembly SampleAssembly = Assembly.Load
            ("SampleAssembly, Version=1.0.2004.0, Culture=neutral, PublicKeyToken=8744b20f8da049e3");

I can usually load without the version, culture and public key.



来源:https://stackoverflow.com/questions/2279341/c-how-to-load-assembly-from-gac

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!