C# UWP应用程序中的SEHException-尝试加载SDK的DLL

C# UWP应用程序中的SEHException-尝试加载SDK的DLL,c#,dll,uwp,sdk,C#,Dll,Uwp,Sdk,我正试图在UWP桌面应用程序中使用,但遇到了一个异常,我不知道如何修复它:InteropServices.SEHException 我已经获得了SDK的源代码,我已经成功地将其构建为一个UWP类库(它已经在nuget上提供了,但我想可能我需要专门为UWP构建它——现在似乎不再是这样了) 从调试信息判断,DLL已加载,委托指针指向某个地方,但包装器代码的这一部分会引发异常: int controllerCount = EnumerateGpuController(IntPtr.Zero, 0);

我正试图在UWP桌面应用程序中使用,但遇到了一个异常,我不知道如何修复它:InteropServices.SEHException

我已经获得了SDK的源代码,我已经成功地将其构建为一个UWP类库(它已经在nuget上提供了,但我想可能我需要专门为UWP构建它——现在似乎不再是这样了)

从调试信息判断,DLL已加载,委托指针指向某个地方,但包装器代码的这一部分会引发异常:

int controllerCount = EnumerateGpuController(IntPtr.Zero, 0);
此功能定义为:

internal int EnumerateGpuController(IntPtr handles, int size) => 
enumerateGpuControllerPointer(handles, size);
指针是通过以下方式获得的:

enumerateGpuControllerPointer = (EnumerateGpuControllerPointer)
Marshal.GetDelegateForFunctionPointer(NativeMethods.GetProcAddress(dllHandle, "EnumerateGPU"), typeof(EnumerateGpuControllerPointer));
dllHandle在确认已加载后似乎有效。 DLL位于项目的根目录中,生成为内容,并在生成时复制到调试目录


是否有解决方法,或者这是UWP的沙箱,使得无法使用外部DLL?

UWP不支持从外部程序集动态加载和执行代码

需要加载的所有库都必须位于appx本身中

我将为您提供一个链接,以进一步阅读有关此主题的更多信息


谢谢。我有一个后续问题,但我会在另一个帖子中发布。