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