为什么我的发行版本构建失败并出现错误APPX0002:任务“ ValidateAppxManifest”失败?

时间:2020-07-02 06:15:20

标签: c# visual-studio uwp msbuild

我正在尝试为Windows台式机开发UWP应用。一切进展顺利,但是最近几天我失去了构建发行版本的能力(构建调试版本仍然可以正常工作)。 我收到以下错误消息:

1> C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Community \ MSBuild \ Microsoft \ VisualStudio \ v16.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(2810,5):错误APPX0002:任务' 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中解决了该问题。不幸的是,他们提到的版本比我使用的版本要旧。 Microsoft 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. 重建'n go

另一个解决方法是:

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

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

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

1 个答案:

答案 0 :(得分:0)

对我来说,这就是答案。对于所有情况,我都不认为这是 the 的答案,但现在一切都很好。

您可能还记得我说过我安装了最新版本的Windows。但是,当我昨晚检查Windows Update时,它确认我“处于最新状态”,但它为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发布版本。