C#:如何从GAC加载程序集?
我在GAC中有“mycomp.myassembly.dll”但Load和LoadFrom会抛出找不到文件的exception,而LoadWithPartialName则返回null。 我正在做以下事情:
AssemblyName name = new AssemblyName(); name.Name = "mycomp.myassembly.dll"; Assembly assembly = Assembly.Load(name);
用于mycomp.myassembly.dll文件的FileNotFound失败,并且
Assembly assembly = Assembly.Load("mycomp.myassembly.dll");
完全相同的消息失败了。
我仔细检查了汇编是否在GAC中(甚至再次使用gacutil / if)并且它在所有其他情况下都有效,我自己无法加载它。
我在这做错了什么? 我错过了什么吗?
您是否尝试使用完全限定的程序集名称? (例如"ycomp.myassembly.dll, Version=1.0.2004.0, Culture=neutral, PublicKeyToken=8744b20f8da049e3"
)
尝试使用全名加载
// You must supply a valid fully qualified assembly name. Assembly SampleAssembly = Assembly.Load ("SampleAssembly, Version=1.0.2004.0, Culture=neutral, PublicKeyToken=8744b20f8da049e3");
我通常可以加载没有版本,文化和公钥。