DLL突然无法加载c# UWP
本文关键字:UWP 加载 突然 DLL | 更新日期: 2023-09-27 18:18:11
我在c# UWP应用程序的项目目录中放置了一个本地c++构建的dll作为通用dll,并设置内容为复制,它总是找到它,然后第二天突然什么也没有,不断得到:
"无法加载DLL 'AVEngine.dll':无法找到指定的模块。"(异常来自HRESULT: 0x8007007E)"
我正在打电话:
[DllImport(DLLName, CallingConvention = CallingConvention.Cdecl)]
private static extern int OpenForProcessing();
我确保了架构和构建配置匹配,我也检查了SDK版本(最小/目标版本),我被难住了。
使用Dependency Walker来检查AVEngine.dll
的依赖项。可能其中一些丢失了,因此Dll无法加载。
将旧功能暴露给现代c# UWP应用程序的更好的方法是使用WinRT组件包装AVEngine.dll
逻辑。然后您可以在UWP应用程序中引用该组件。文章"在通用Windows平台应用程序中使用现有的c++代码"可能会有所帮助。