Windows – c/cli DLL在Win 8.1下失败

前端之家收集整理的这篇文章主要介绍了Windows – c/cli DLL在Win 8.1下失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我写了一个Win32 / net DLL,它在Win XP,Win7和8下工作正常,但在Win 8.1下它失败了。

依赖Walker说:未找到API-MS-WIN-CORE-KERNEL32-PRIVATE-L1-1-1.DLL
(user32.dll会调用它们)

Google的意思是,MS在8.1中改变了一些System-DLL(并忽略了兼容性),所以很多程序都有同样的问题。

带有“找不到文件”的完整列表:

API-MS-WIN-CORE-KERNEL32-PRIVATE-L1-1-1.DLL
API-MS-WIN-CORE-PRIVATEPROFILE-L1-1-1.DLL
MSVCR120.DLL
API-MS-WIN-CORE-SHUTDOWN-L1-1-1.DLL
API-MS-WIN-SERVICE-PRIVATE-L1-1-1.DLL
EXT-MS-WIN-NTUSER-UICONTEXT-EXT-L1-1-0.DLL
IESHIMS.DLL

有人有一个想法如何解决这个问题?

依赖性沃克的静态分析是不可靠的。 Dependency Walker基于其静态分析报告这些DLL的问题并不意味着这确实是您的问题。完全可执行文件在静态分析下描述的问题报告是正常的,但执行得很好。

现在我正在看Dependency Walker对我的应用程序的评估,我看到完全相同的列出了所谓的有问题的文件。但应用程序运行良好。简单地说,你正在看一个假阳性。

升级操作系统时,Microsoft肯定不会忽略兼容性。相反,维持良好的兼容性非常长。

如果要使用Dependency Walker来调试本机DLL的依赖问题,那么您真的需要在动态模式下使用“配置文件菜单。这将告诉您哪些依赖关系无法在运行时加载,如果确实是您的问题。但是,根据管理和非托管之间的平衡的确切位置,Dependency Walker可能不是正确的工作工具。

而您的问题可能不是本地依赖关系的问题。第一步是为您准确诊断问题。这超出了这个问题的范围,因为我们没有任何你遇到的错误的细节。

猜你在找的Windows相关文章