微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

LoadPackagedLibrary 在 XBox 上失败并显示 ERROR_MOD_NOT_FOUND

如何解决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 举报,一经查实,本站将立刻删除。