【发布时间】:2020-10-22 16:24:27
【问题描述】:
我正在尝试为 Windows 桌面计算机开发 UWP 应用。一切进展顺利,但在过去的几天里,我失去了构建发布版本的能力(构建调试版本仍然可以正常工作)。 我收到以下错误消息:
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VisualStudio\v16.0\AppxPackage\Microsoft.AppXPackage.Targets(2810,5): error APPX0002: Task ' ValidateAppxManifest' 失败。未指明的错误
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VisualStudio\v16.0\AppxPackage\Microsoft.AppXPackage.Targets(2810,5): 错误 APPX0002: [我的App] 违反了 '\bms-resource:.{1,256}' 的模式约束。
在过去的几年里,我尝试了一些对人们有用的“修复”。有些人报告该问题已在最新版本的 Visual Studio 中自行解决。不幸的是,他们提到的版本比我使用的版本旧,即 微软 Visual Studio 社区 2019 版本 16.6.3 来自网络的许多修复与下面的类似,来自 URL https://social.msdn.microsoft.com/Forums/en-US/4cc2cbfb-fa0d-4f12-a0a1-9072d78e26d6/vs2019-error-task-validateappxmanifest-failed-unspecified-error-again-and-again?forum=msbuild
一个修复是:
- 清除 nuget 包,
- 清洁解决方案
- 关闭VS
- 删除主(启动)项目的 bin 和 obj 文件夹
- 打开 VS - 解决方案
- 恢复解决方案 nuget 包
- 立即重建
另一个修复是:
- 卸载 vs 和 SDK,
- 删除每个 nuget 文件夹,
- 清理注册表并重新启动系统,
- 最后一步,
- 重新安装与
除了“清理注册表”之外,我已经尝试了所有这些(多次)。我不确定我们在谈论注册表的哪一部分。
那么,有没有人以不同的方式克服了这个问题,或者知道注册表的想法是什么?
哦,其他一些数据是
- 可能我的机器太旧了(大约 6 岁)。我推测即使我的机器似乎拥有最新版本的 Windows 和 Visual Studio,也可能没有完全最新的代码。
- 在我添加两个新功能时出现问题。第一个是通过 _storeContext.RequestRateAndReviewAppAsync() 向用户询问评分;第二个是允许用户通过 DataTransferManager.ShowShareUI(); 共享一些数据; 我在想这些 API 可能需要在清单中声明一些我没有的声明,但我没有从文档中看到它们所做的。 任何想法将不胜感激。我目前没有想法。
丹
【问题讨论】:
-
您是否尝试过在 Visual Studio 2017 中构建发布版本?
-
我没有。我将安装 VS 2017 并在今天试用。谢谢。
-
好消息。问题是固定的,至少现在是这样。我将在帖子中详细介绍,但简短的故事是,在 Windows 更新后,Visual Studio 2019 现在可以完成发布构建并打包我的项目。
标签: c# visual-studio uwp msbuild