如何解决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 依赖关系有关。这些是我的库依赖项:
与原生 UWP dll 相比看起来完全不同:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。