【问题标题】:Why does my release build fail with error APPX0002: Task 'ValidateAppxManifest' failed?为什么我的发布构建失败并出现错误 APPX0002:任务“ValidateAppxManifest”失败?
【发布时间】: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

一个修复是:

  1. 清除 nuget 包,
  2. 清洁解决方案
  3. 关闭VS
  4. 删除主(启动)项目的 bin 和 obj 文件夹
  5. 打开 VS - 解决方案
  6. 恢复解决方案 nuget 包
  7. 立即重建

另一个修复是:

  1. 卸载 vs 和 SDK,
  2. 删除每个 nuget 文件夹,
  3. 清理注册表并重新启动系统,
  4. 最后一步,
  5. 重新安装与

除了“清理注册表”之外,我已经尝试了所有这些(多次)。我不确定我们在谈论注册表的哪一部分。 那么,有没有人以不同的方式克服了这个问题,或者知道注册表的想法是什么?
哦,其他一些数据是

  1. 可能我的机器太旧了(大约 6 岁)。我推测即使我的机器似乎拥有最新版本的 Windows 和 Visual Studio,也可能没有完全最新的代码。
  2. 在我添加两个新功能时出现问题。第一个是通过 _storeContext.RequestRateAndReviewAppAsync() 向用户询问评分;第二个是允许用户通过 DataTransferManager.ShowShareUI(); 共享一些数据; 我在想这些 API 可能需要在清单中声明一些我没有的声明,但我没有从文档中看到它们所做的。 任何想法将不胜感激。我目前没有想法。

【问题讨论】:

  • 您是否尝试过在 Visual Studio 2017 中构建发布版本?
  • 我没有。我将安装 VS 2017 并在今天试用。谢谢。
  • 好消息。问题是固定的,至少现在是这样。我将在帖子中详细介绍,但简短的故事是,在 Windows 更新后,Visual Studio 2019 现在可以完成发布构建并打包我的项目。

标签: c# visual-studio uwp msbuild


【解决方案1】:

这就是我的答案。我不相信这是所有情况的答案,但现在一切都很好。

您可能还记得我说过我拥有最新版本的 Windows,我确实做到了。但是,当我昨晚检查 Windows 更新时,它确认我是“最新的”,但它为我提供了 Windows 10 版本 2004 的“功能更新”。我决定去做。

更新花了几个小时才完成,今天早上 Nico Zhu 建议尝试使用 Visual Studio 2017 时,它仍然只完成了 94%。我想我会在更新后安装 VS 2017,但当它终于完成时,我决定用我全新的 Windows 版本再试一次 VS 2019。令人惊讶的是,它第一次就奏效了。

我应该提到我制作应用程序包的新程序现在包括

  1. 关闭 VS 2019
  2. 删除项目的obj文件夹
  3. 删除项目的bin文件夹(我以前只是删除obj文件夹,后来看了别人的建议才加了这一步)
  4. 推出 VS 2019
  5. 创建应用包

我想做另一个构建/打包,所以我修复了几个外观错误并再次尝试。在第二次尝试中,我又回到了旧模式,没有删除 bin 文件夹。 VS 2019 立即弹出一条错误消息,例如“无法完成构建。解决您的应用清单问题。”我没有像过去几天那样将清单文件倒在上面,而是删除了 obj 和 bin 文件夹并再次尝试。然后构建/打包过程完美运行。

所以,我想说的是应用程序清单文件不是罪魁祸首(无论如何在这种情况下),我现在喜欢删除 obj 和 bin 文件夹,并在尝试使用 Win 10 版本 2014 之前使用 VS 2019 发布构建。

【讨论】:

    猜你喜欢
    • 2019-10-30
    • 2013-10-26
    • 2016-07-30
    • 1970-01-01
    • 2021-05-01
    • 2019-07-14
    • 2019-12-15
    • 2018-04-09
    • 2015-01-27
    相关资源
    最近更新 更多