使用 .net Native 时 UWP AppX 包创建失败

UWP AppX Package creation failed when using .net Native

我有如下解决方案:

除了在发布配置中使用 .net native 之外,我的构建配置调试和发布配置相同(至少我希望如此)。

在 VS2017 中使用向导为 App 1 创建 AppXBundle 时,它​​会为检测到的依赖项创建不同的结果:

Debug\Dependencies\x64:

Release\Dependencies\x64:

安装在调试配置中创建的 App-X 包时,使用生成的 Add-AppDevPackage.ps1,一切正常。 对在发布配置中创建的 App-X 包执行相同操作时,出现以下错误:

Add-AppxPackage : Deployment failed with HRESULT: 0x80073CF3, Package failed updates, dependency or conflict validation. Windows cannot install package 93ede192-831a-47ed-b309-5c4901fd7ffc because package Microsoft.NET.CoreRuntime.1.1 was provided but not used. This could be because package 93ede192-831a-47ed-b309-5c4901fd7ffc does not depend on Microsoft.NET.CoreRuntime.1.1. Only the packages that package 93ede192-831a-47ed-b309-5c4901fd7ffc depends on can be installed.

假设Microsoft.NET.CoreRuntime.1.1.appx依赖不应该在创建包的时候添加,因为在 Release Configuration 中选择了 .net native。在创建包后手动删除文件时,安装工作正常。

问题: 为什么要在发布配置中添加这个依赖?这是一个错误吗?

注意:在项目样式Class图书馆项目(通用Windows应用程序)中,没有在构建选项卡上启用 .NET 本机的选项,我认为是因为它的输出类型(Class 库)。根本原因?

谢谢

清理解决方案并重新配置所有构建配置后,编译 x64 或 x86 时,问题现在消失了。

我不能确切地说出是哪个设置导致的,但如果其他人遇到这个问题,我建议先检查以下内容:

  • 构建 x64 和 x86 的配置
  • 确保在所有 UWP 应用程序的发布配置中选择 .net native
  • 确保可移植库的目标正确。
  • 清理解决方案并重建所有配置以进行调试和发布
  • 再次尝试创建商店包

谢谢。