使用 .net Native 时 UWP AppX 包创建失败
UWP AppX Package creation failed when using .net Native
我有如下解决方案:
- App 1 项目(通用Windows App)
- 便携式 Class 库项目(目标 Window 8,.NET 4.5,ASP.NET 核心)
- 样式 Class 图书馆项目(通用 Windows 应用程序)
除了在发布配置中使用 .net native 之外,我的构建配置调试和发布配置相同(至少我希望如此)。
在 VS2017 中使用向导为 App 1 创建 AppXBundle 时,它会为检测到的依赖项创建不同的结果:
Debug\Dependencies\x64:
- Microsoft.VCLibs.x64.14.00.appx
- Microsoft.NET.CoreRuntime.1.1.appx
Release\Dependencies\x64:
- Microsoft.VCLibs.x64.14.00.appx
- Microsoft.NET.Native.Runtime.1.6.appx
- Microsoft.NET.Native.Framework.1.6.appx
- Microsoft.NET.CoreRuntime.1.1.appx
安装在调试配置中创建的 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
- 确保可移植库的目标正确。
- 清理解决方案并重建所有配置以进行调试和发布
- 再次尝试创建商店包
谢谢。
我有如下解决方案:
- App 1 项目(通用Windows App)
- 便携式 Class 库项目(目标 Window 8,.NET 4.5,ASP.NET 核心)
- 样式 Class 图书馆项目(通用 Windows 应用程序)
除了在发布配置中使用 .net native 之外,我的构建配置调试和发布配置相同(至少我希望如此)。
在 VS2017 中使用向导为 App 1 创建 AppXBundle 时,它会为检测到的依赖项创建不同的结果:
Debug\Dependencies\x64:
- Microsoft.VCLibs.x64.14.00.appx
- Microsoft.NET.CoreRuntime.1.1.appx
Release\Dependencies\x64:
- Microsoft.VCLibs.x64.14.00.appx
- Microsoft.NET.Native.Runtime.1.6.appx
- Microsoft.NET.Native.Framework.1.6.appx
- Microsoft.NET.CoreRuntime.1.1.appx
安装在调试配置中创建的 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
- 确保可移植库的目标正确。
- 清理解决方案并重建所有配置以进行调试和发布
- 再次尝试创建商店包
谢谢。