我有一个解决方案如下:
- 应用程序 1 项目(通用 Windows 应用程序)
- 可移植类库项目(Target Window 8、.NET 4.5、ASP.NET Core)
- 样式类库项目(通用 Windows 应用)
我的构建配置调试和发布配置相同(至少我希望如此),除了在发布配置中使用.net native。
在 VS2017 中使用向导为App 1创建 AppXBundle 时,它会为检测到的依赖项创建不同的结果:
调试\依赖\x64:
- Microsoft.VCLibs.x64.14.00.appx
- Microsoft.NET.CoreRuntime.1.1.appx
发布\依赖\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:部署失败,HRESULT:0x80073CF3,包更新失败,依赖或冲突验证。Windows 无法安装包 93ede192-831a-47ed-b309-5c4901fd7ffc,因为提供了包 Microsoft.NET.CoreRuntime.1.1 但未使用。这可能是因为包 93ede192-831a-47ed-b309-5c4901fd7ffc 不依赖于 Microsoft.NET.CoreRuntime.1.1。只能安装包 93ede192-831a-47ed-b309-5c4901fd7ffc 所依赖的包。
假设:在包创建期间不应添加Microsoft.NET.CoreRuntime.1.1.appx依赖项,因为在发布配置中选择了 .net native。在创建包后手动删除文件时,安装工作正常。
问题:为什么要在发布配置中添加此依赖项?这是一个错误吗?
注意:在 Project Style Class Library Project (Universal Windows App)上,没有在构建选项卡上启用 .NET native 的选项,我认为是因为它的输出类型(类库)。根本原因?
谢谢