在Win 8.1下c ++/cli DLL失败

use*_*403 18 windows dll winapi mixed-mode c++-cli

我写了一个Win32/net DLL,它在Win XP,Win7和8下工作正常,但在Win 8.1下它失败了.

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

谷歌意味着,MS改变了8.1中的一些系统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
Run Code Online (Sandbox Code Playgroud)

有人知道如何解决这个问题吗?

Dav*_*nan 19

不依赖Dependency Walker的静态分析.Dependency Walker基于静态分析报告这些DLL的问题并不意味着这确实是您的问题.完全精细的可执行文件报告问题是正常的,正如您在静态分析中描述的那样,但执行得非常好.

现在我正在看Dependency Walker对我的应用程序的评估,我看到了与你一样的问题文件完全相同的列表.但该应用程序运行良好.简单地说,你正在看一个误报.

升级操作系统时,Microsoft肯定不会忽略兼容性.相反,它保持良好的兼容性.

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

并且您的问题可能不是本机依赖项的问题.第一步是让您准确诊断出问题所在.这超出了这个问题的范围,因为我们没有您遇到的错误的任何细节.

  • 好的史诗失败: - /我忘记在我的Windows 8.1 Testsystem上安装Visual C++ Redistributable 2010/2013作为x86版本. (4认同)