我正在寻找新手的代码。我在一个名为UI的项目中有c ++代码,它有许多依赖项,它们可以正确构建并且不会返回任何错误。在Visual Studio 2008中的相同解决方案中,我创建了一个新的C#窗体表单项目,并添加了对UI项目生成的dll的引用,并添加了一个"使用"声明。我想要做的是引发UI项目中定义的一个对话框,所以我有像
这样的代码UIDialog uIDialog = new UIDialog();
uIDialog.Show();
构建。
当我在调试中运行我的项目时,当它到达" new"部分,我得到上面的例外 - 没有关于丢失模块是什么的信息。
有没有办法找出缺少的模块是什么,而无需深入挖掘UI项目中的代码?
(我试图重新解释这个问题,以便它不会被关闭。如果有人可以给出明确的答案,那么,#34;我没有"我"我"我"我"我"我"我"我"我" 39; d发现非常有帮助。也感谢关闭之前版本的人。)
编辑:
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位。
答案 0 :(得分:1)
您可以在引用的dll上使用MSIL反汇编程序,并检查清单中是否存在dll的所有依赖项。反汇编程序是Windows SDK工具的一部分。
或者始终存在DependencyWalker,尽管我多年没有使用过它。
答案 1 :(得分:0)
您可以turn on Fusion logging查看加载程序正在执行的操作并找出缺少的内容。