我在应用程序中使用Dll之一时遇到一些问题,并在其上运行了依赖项遍历器。我不确定如何阅读,但是得到了以下结果

是否暗示任何x86-x64不兼容?无论如何,我可以解决这个问题吗?

Error: At least one required implicit or forwarded dependency was not found.
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

最佳答案

当您查看Dependency Walker的64位版本中的32位可执行文件时,通常会看到这种 View 。因为Dependency Walker是64位的,所以当它尝试在DLL搜索路径中查找DLL时,它将找到64位版本。您的32位程序将在WOW64仿真器中运行,并找到32位版本。

因此,您提供的屏幕截图完全不需要关注。

如果您的应用程序存在依赖关系问题,建议您在Dependency Walker的Profile模式下运行程序(从Profile菜单项中)。这将为您提供有关加载时和运行时实际发生情况的详细诊断。您上面显示的屏幕截图来自静态分析,因此,这种静态分析始终是不完整的,并且可能不准确。确保加载程序时会发生什么的唯一方法是在加载程序时对其进行调试。

关于c# - 读取Dependency Walker输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21472330/

10-11 14:38