DLL突然没有加载C#UWP

时间:2016-11-16 20:25:43

标签: c# c++ dll uwp marshalling

我在C#UWP应用程序的项目目录中将原生C ++中的dll构建为通用DLL,并将内容设置为复制,总是找到它,然后第二天突然没有,不断得到:

  

“无法加载DLL'AVEngine.dll':找不到指定的模块。(HRESULT异常:0x8007007E)”

我打电话给:

[DllImport(DLLName, CallingConvention = CallingConvention.Cdecl)]
private static extern int OpenForProcessing();

我确保了架构和构建配置匹配,我还检查了SDK版本(最小/目标版本),我很难过。

1 个答案:

答案 0 :(得分:0)

使用Dependency Walker检查AVEngine.dll的相关性。可能其中一些丢失,因为它无法加载Dll。

向现代C#UWP应用程序公开旧功能的更好方法是使用WinRT组件包装AVEngine.dll逻辑。然后,您可以在UWP应用程序中引用此组件。文章"Use Existing C++ Code in a Universal Windows Platform App"可能会有所帮助。