DLL突然无法加载c# UWP

DLL Suddenly Not Loading C# UWP

本文关键字:UWP 加载 突然 DLL      更新时间:2023-10-16

我在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++代码"可能会有所帮助。