C# Can';t使用外部DLL:FileNotFoundException

C# Can';t使用外部DLL:FileNotFoundException,c#,dll,filenotfoundexception,C#,Dll,Filenotfoundexception,我有两个项目。 第一个只生成一个DLL 第二个需要第一个DLL。 但是,当我从DLL调用方法时,我有一个FileNotFoundException,并显示以下消息: BDD,版本=1.0.0.0,区域性=中立,PublicKeyToken=null 我确信该文件存在。 我错在哪里?简短回答:DLL需要与EXE位于同一目录中 是这样吗?简短回答:DLL需要与EXE位于同一目录中 是这样吗?您能给出完整的信息吗?以及: 请记住,FileNotFoundException可能是引用的DLL的依赖项,而

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

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

BDD,版本=1.0.0.0,区域性=中立,PublicKeyToken=null

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

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


是这样吗?

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


是这样吗?

您能给出完整的信息吗?以及:

请记住,
FileNotFoundException
可能是引用的DLL的依赖项,而不仅仅是引用的DLL本身


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

您能否给出完整的消息-以及:

请记住,
FileNotFoundException
可能是引用的DLL的依赖项,而不仅仅是引用的DLL本身

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

同意Kieren(+1)。可能它正在查找您的DLL,但它需要另一个找不到的依赖DLL。或者是否存在签名问题(可能您正在寻找另一个DLL版本,等等…) 要打开fusion Log(您必须创建两个fo注册表项):

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

同意Kieren(+1)。可能它正在查找您的DLL,但它需要另一个找不到的依赖DLL。或者是否存在签名问题(可能您正在寻找另一个DLL版本,等等…) 要打开fusion Log(您必须创建两个fo注册表项):


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

您是否已将DLL作为引用添加到尝试使用它的项目中?或者至少将DLL复制到与编译的可执行文件相同的目录中?运行时project1.DLL是否与project2.exe位于同一文件夹中?项目/程序集的名称是什么?是否已将DLL添加为尝试使用它的项目中的引用?或者至少将DLL复制到与编译的可执行文件相同的目录中?运行时project1.DLL是否与project2.exe位于同一文件夹中?项目/程序集的名称是什么?我认为您需要提供有关如何打开该日志的信息。我将DLL导入VisualStudio,没有问题。但是当我从DLL调用一个方法时,我收到了filenotfound…你不能“导入”一个DLL,你的意思是添加一个引用吗?这并不一定意味着什么。也许您可以回答人们提出的问题-完整错误是什么,DLL是否与可执行文件位于同一目录中,等等?是的,DLL位于同一目录中。完全错误:第18到21行显示“正在尝试从URL下载DLL…”,它正在
/bin/debug/BDD.DLL
中查找,但找不到它。DLL是否确实位于正确的位置,
C:/ihmadministrator/ihmadministrator/bin/Debug/BDD.DLL
?我想您需要提供有关如何打开该日志的信息。我将DLL导入VisualStudio,没有问题。但是当我从DLL调用一个方法时,我收到了filenotfound…你不能“导入”一个DLL,你的意思是添加一个引用吗?这并不一定意味着什么。也许您可以回答人们提出的问题-完整错误是什么,DLL是否与可执行文件位于同一目录中,等等?是的,DLL位于同一目录中。完全错误:第18到21行显示“正在尝试从URL下载DLL…”,它正在
/bin/debug/BDD.DLL
中查找,但找不到它。DLL是否确实位于正确的位置,
C:/ihmadministrator/ihmadministrator/bin/Debug/BDD.DLL