我正在查看对我来说是新的代码。我在一个名为 UI 的项目中有 C++ 代码,它具有许多依赖项,可以正确构建并且不会返回任何错误。在 Visual Studio 2008 中的相同解决方案中,我创建了一个新的 C# windows 窗体项目并添加了对 UI 项目生成的 dll 的引用,并添加了“using”语句。我想要做的是引发 UI 项目中定义的对话框之一,所以我有类似的代码
UIDialog uIDialog = new UIDialog();
uIDialog.Show();
构建。
当我在调试中运行我的项目时,当它到达"new"部分时,我得到上面的异常 - 没有关于缺少的模块是什么的信息。
有什么方法可以在不挖掘 UI 项目中的代码的情况下找出缺少的模块是什么?
(我正在尝试重新表述这个问题,以免它被关闭。如果有人可以给出“不,没有”的明确答案,我会发现这非常有帮助。也感谢那些关闭了以前的版本。)
编辑:
System.IO.FileNotFoundException occurred
Message="The specified module could not be found.
(Exception from HRESULT: 0x8007007E)"
Source="ui"
StackTrace:
at ui.UIDialog.Startup()
at ui.UIDialog..ctor() in c:\..\ui\UIDialog.h:line 61
InnerException:
这就是问题所在,没有明显的有用信息!
这不是 32/64 位问题 - 在到达这里之前,我遇到了典型的“BadImageFormatException”,因此为了克服这个问题,我强制所有内容都为 32 位。
最佳答案
您可以在引用的 dll 上使用 MSIL 反汇编程序并检查 dll 的所有依赖项的 list 。反汇编程序是 Windows SDK 工具的一部分。
或者总是有 DependencyWalker,虽然我已经很多年没用过了。
关于c# - System.IO.FileNotFoundException 未处理消息 =“The specified module could not be found. (Exception from HRESULT: 0x8007007E)”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8997286/