未知模块中发生未处理的“System.IO.FileNotFoundException”类型exception
我正在开发ac#应用程序,我在调试运行时遇到以下错误:
未知模块中发生未处理的“System.IO.FileNotFoundException”类型exception。
附加信息:无法加载文件或程序集“Autodesk.Navisworks.Timeliner.dll”或其依赖项之一。 指定的模块无法找到。
Autodesk.Navisworks.Timeliner.dll位于应用程序的debug文件夹中。 我修复了.net框架(版本4)但它没有解决它。 有关如何解决此问题的任何想法? 谢谢。
首先检查 – 运行应用程序的目录的工作目录:
- 右键单击项目,然后选择“属性”。
- 单击“调试”选项卡。
- 确认工作目录为空或等于bin \ debug目录。
如果这不是问题,那么询问Autodesk.Navisworks.Timeliner.dll是否需要另一个不存在的DLL。 如果Timeliner.dll不是.NET程序集,则可以使用命令实用程序DUMPBIN
确定所需的导入。
dumpbin /imports Autodesk.Navisworks.Timeliner.dll
如果它是.NET程序集,则有许多工具可以检查依赖项。
已经提到了Reflector
,我使用Telerik的JustDecompile
。
另见这个问题
在VS中启用此选项:Just My Code选项
工具 – >选项 – >调试 – >常规 – >启用我的代码(仅限管理)
如果您在64位系统上运行并尝试加载32位DLL,则需要将应用程序编译为32位而不是任何cpu。 如果你不这样做,它的行为就像你描述的那样。
如果不是这种情况,请使用Dependency Walkervalidationdll是否具有所需的依赖项。
在您的cofig文件中添加以下codesnippet
我要做的是使用此工具并逐步完成获取exception的位置
阅读本文将告诉您如何创建PDB,这样您就不必设置所有参考。
http://www.cplotts.com/2011/01/14/net-reflector-pro-debugging-the-net-framework-source-code/
这是一个试验,我与redgate无关,我只是使用那里的软件。