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"); 

我通常可以加载没有版本,文化和公钥。