0

我有一个引用 C++/CLI 混合模式程序集的 C# 项目。该程序集存储在 PATH 的文件夹中,并且它也存在于 GAC 中,但是当它执行时,我得到:

System.IO.FileNotFoundException:无法加载文件或程序集“PcsSocketCommunications500,版本=0.0.0.0,文化=中性,PublicKeyToken=null”

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

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

在此处输入图像描述

关于加载程序为什么不检查 GAC 或 PATH 的任何想法?

4

1 回答 1

2

PublicKeyToken=null

程序集不是强命名的。这意味着它不能位于 GAC 中,CLR 不会在那里查找。不确定您为进入 GAC 做了什么,但按原样应该是不可能的。

于 2011-02-03T18:19:53.423 回答