问题描述
我目前正在尝试使用 /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 (将#修改为@)