无法使用外部DLL:FileNotFoundException

时间:2011-04-11 07:55:24

标签: c# dll filenotfoundexception

我有2个项目。 第一个只生成一个DLL。

第二个需要第一个DLL。 但是当我从DLL调用一个方法时,我有一个FileNotFoundException,带有以下消息:

BDD,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null

我确定该文件存在。 哪里我错了?

3 个答案:

答案 0 :(得分:5)

同意Kieren(+1)。也许它找到了你的DLL,但它需要另一个无法找到的依赖DLL。或者是否有签名问题(也许你正在寻找另一个DLL版本等...) 要打开Fusion Log(您必须创建一对注册表项): Set LogFailures to 0/1 to disable/enable

BTW,fusion是包含加载程序集的逻辑的DLL(探测本地路径和子文件夹,如果指定,查看GAC,......)。运行可执行文件后,您将找到一个日志,详细说明CLR在加载引用的程序集时发现的问题(忽略NativeImage日志,只检查默认日志)。

答案 1 :(得分:1)

你能否给出完整的信息 - 并且:

请注意,FileNotFoundException可能是引用的DLL的依赖,而不仅仅是引用的DLL本身。

如果DLL确实存在,您可能需要打开程序集绑定日志(Fusion日志)以查看正在发生的事情。

答案 2 :(得分:0)

简答:DLL需要与EXE位于同一目录中。

是这样的吗?