2011-02-03 84 views
0

我有一个引用C++/CLI混合模式程序集的C#项目。该程序集存储在PATH文件夹中,它也存在于GAC中,但执行时,我得到:为什么程序集加载程序未检入C++/CLI混合模式程序集的GAC?

System.IO.FileNotFoundException:无法加载文件或程序集'PcsSocketCommunications500,Version = 0.0。 0.0,Culture = neutral,PublicKeyToken = null'

版本0.0.0.0是因为C++/CLI没有Assembly版本类,但据我所知这应该不成问题。

正在运行进程监视器我已经看到系统只是在与主进程相同的文件夹中查找程序集...我不是装配加载的专家,但我期望至少看到一些GAC搜索和“也许”一些PATH searchs ..这就是我得到了什么(PcsSocketCommunication500.dll是C++/CLI装配和黑色它的工作目录):

enter image description here

为什么加载器不检查任何想法GAC还是PATH?

回答

2

公钥=空

该组件不强命名。这意味着它不能位于GAC中,CLR不会去那里看。不知道你在GAC中做了什么,但它不应该是现在可以做到的。

+0

对。在编译引用它的代码(试图解决问题)后,程序集已签名并安装在GAC中。我认为,由于来电者知道它没有签名,因此没有在GAC上进行搜索。再次感谢汉斯。 – 2011-02-07 12:07:29