我正在开发一个c#应用程序,我在调试运行时遇到以下错误:
“System.IO.FileNotFoundException”类型的未处理异常 发生在未知模块中。
其他信息:无法加载文件或程序集 'Autodesk.Navisworks.Timeliner.dll'或其依赖项之一。该 无法找到指定的模块。
Autodesk.Navisworks.Timeliner.dll位于应用程序的debug文件夹中。我修复了.net框架(版本4),但它没有解决它。有关如何解决此问题的任何想法?谢谢。
答案 0 :(得分:11)
在VS中启用此选项:Just My Code选项
工具 - >选项 - >调试 - >一般 - >启用我的代码(仅限管理)
答案 1 :(得分:7)
首先检查 - 运行应用程序的目录的工作目录:
如果这不是问题,请询问Autodesk.Navisworks.Timeliner.dll是否需要另一个不存在的DLL。
如果Timeliner.dll不是.NET程序集,则可以使用命令实用程序DUMPBIN
确定所需的导入。
dumpbin /imports Autodesk.Navisworks.Timeliner.dll
如果它是.NET程序集,则有许多工具可以检查依赖项。
Reflector
已被提及,我使用Telerik的JustDecompile
。
答案 2 :(得分:4)
如果您在64位系统上运行并尝试加载32位DLL,则需要将应用程序编译为32位而不是任何cpu。如果你没有这样做,它的行为就像你描述的那样。
如果不是这种情况,请使用Dependency Walker验证dll是否具有所需的依赖项。
答案 3 :(得分:1)
在您的cofig文件中添加以下codesnippet
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
答案 4 :(得分:0)
我要做的是使用此工具并逐步完成获取异常的位置
阅读本文将告诉您如何创建PDB,这样您就不必设置所有参考文件。
http://www.cplotts.com/2011/01/14/net-reflector-pro-debugging-the-net-framework-source-code/
这是一个试验,我与redgate完全无关,我只是使用那里的软件。
答案 5 :(得分:0)
对我来说,这是在.net项目中发生的,事实证明与我的Visual Studio安装有关。我分别下载并安装了最新的.net core sdk,然后重新安装了VS,它可以正常工作。