LoadPackagedLibrary 在 XBox 上失败并显示 ERROR_MOD_NOT_FOUND

问题描述

我目前正在尝试使用 /ZW /EHsc 函数在 UWP 应用程序中加载自编写的动态链接模块(使用 LoadPackagedLibrary(...) 编译)。由于构建库的方式,需要动态加载所有库。我已将 DLL 包含在项目中并将其作为内容启用(也已验证:它至少会像预期的那样复制到 XBox)。

如果我在 Windows 上运行我的应用程序,一切正常。但是一旦我在 XBox 上启动我的应用程序,LoadPackagedLibrary(...) 就失败了 ERROR_MOD_NOT_FOUND。在 Visual Studio 输出窗口中,我可以看到 XBox 正在加载我的 DLL 没有问题,但加载后直接将其丢弃:

"DAServerUWP.exe" (Win32): "D:\DevelopmentFiles\<<MYAPP>>\SampleDAClient.dll" geladen. Symbole wurden geladen.
"DAServerUWP.exe" (Win32): "D:\DevelopmentFiles\<<MYAPP>>\SampleDAClient.dll" wurde entladen.

我怀疑这与 Package.appxmanifest 没有正确(或目前根本没有)指定 DLL 有关系。但我没有在网上找到那么多信息,也没有任何建议的解决方案奏效。

编辑:以下是如何在 .vcxproj 中定义 DLL 的行:

<ItemGroup>
   <None Include="SampleDAClient.dll">
      <DeploymentContent>true</DeploymentContent>
   </None>
</ItemGroup>

Edit2:可能与 dll 依赖关系有关。这些是我的库依赖项:

Desktop_To_UWP_dll

与原生 UWP dll 相比看起来完全不同:

Native_UWP_dll

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...