我在C#UWP应用程序的项目目录中将原生C ++中的dll构建为通用DLL,并将内容设置为复制,总是找到它,然后第二天突然没有,不断得到:
“无法加载DLL'AVEngine.dll':找不到指定的模块。(HRESULT异常:0x8007007E)”
我打电话给:
[DllImport(DLLName, CallingConvention = CallingConvention.Cdecl)]
private static extern int OpenForProcessing();
我确保了架构和构建配置匹配,我还检查了SDK版本(最小/目标版本),我很难过。
答案 0 :(得分:0)
使用Dependency Walker检查AVEngine.dll
的相关性。可能其中一些丢失,因为它无法加载Dll。
向现代C#UWP应用程序公开旧功能的更好方法是使用WinRT组件包装AVEngine.dll
逻辑。然后,您可以在UWP应用程序中引用此组件。文章"Use Existing C++ Code in a Universal Windows Platform App"可能会有所帮助。