1

我有一个引用 dll 文件的项目。我只是通过右键单击属性添加了一个引用,选择了添加引用,然后浏览了 dll。Intellisense 识别库及其所有类/方法,但是当我运行它时,我得到了这个。

在 program.exe 中发生了“System.IO.FileNotFoundException”类型的未处理异常

附加信息:无法加载文件或程序集“Api.dll”或其依赖项之一。指定的模块无法找到。

该文件出现在 bin 文件夹中,并且仍然在我浏览过的位置。如果我不使用任何类或方法,程序运行不会出错。该库没有我知道的任何依赖项。

编辑:使用依赖walker发现很多丢失的依赖DLL文件,我认为这是导致问题的原因。将所有依赖的DLL放在同一个文件夹中并引用它后,问题仍然存在

4

2 回答 2

1

运行应用程序时运行Fusion Log Viewer 。它会准确地告诉您没有加载哪些程序集。

如果运行 Fusion Log Viewer 时没有显示任何内容,请尝试以下设置:

在此处输入图像描述

在此处输入图像描述

我从来不明白为什么除非我以这种方式使用设置,否则结果不会出现。我会删除所有条目,运行应用程序,然后点击刷新按钮。

于 2012-10-24T01:57:55.130 回答
0

事实证明,即使我发现缺少的 DLL 使用依赖walker,它们也没有被导入到我的项目中,并使用原始 DLL。将它们移动到 bin/debug 文件夹中修复了错误

于 2012-11-08T17:36:54.597 回答