无法编译UWP项目:应用包...清单验证错误

时间:2019-06-02 02:43:31

标签: uwp

更新

如以下Remarks item 3中所述。当我在项目的xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"文件的属性recap中添加名称空间IgnorableNamespaces="uap mp recap"和值Package.appmanifest时,会导致以下错误。

当我回滚以上两个更改时,错误消失了。

原始帖子 [添加上述值仍然存在问题-除非有人提出更好的解决方案,否则我确实要添加这些问题]

UWP的{​​{1}}项目中,我在文件VS2017上收到以下编译错误:

  
    

验证错误。错误80080204:应用清单验证错误:应用清单XML必须有效:第2行,第427列,原因:系统错误:-2142175169。

  

我的Package.appmanifest文件

...\bin\x86\Debug\AppxManifest.xml

... \ bin \ x86 \ Debug \ AppxManifest.xml文件

<?xml version="1.0" encoding="utf-8"?>

<Package
  xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
  xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
  xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
  xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
  IgnorableNamespaces="uap mp recap">

...

备注

  1. 该错误似乎与缺少<?xml version="1.0" encoding="utf-8"?> <Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" xmlns:build="http://schemas.microsoft.com/developer/appx/2015/build" IgnorableNamespaces="uap mp recap build"> <!-- THIS PACKAGE MANIFEST FILE IS GENERATED BY THE BUILD PROCESS. Changes to this file will be lost when it is regenerated. To correct errors in this file, edit the source .appxmanifest file. For more information on package manifest files, see http://go.microsoft.com/fwlink/?LinkID=241727 --> .... .... 属性中的名称空间别名值有关。现在,在IgnorableNamespaces中是Package.appmanifest file。在...IgnorableNamespaces="uap mp recap">中是...\bin\x86\Debug\AppxManifest.xml。因此,Debug文件夹中的IgnorableNamespaces="uap mp recap build">会生成一个别名为AppxManifest.xml的额外名称空间。但是,尽管我没有在build文件中声明,但我不知道为什么Visual Studio会这样做。
  2. 在向Package.appmanifest文件添加额外的命名空间xmlns:rescap="....."之前,项目编译良好。而且,即使我将Package.appmanifest名称空间从xmlns:build="...."复制/粘贴到Debug\AppxManifest.xml,我仍然会得到完全相同的错误
  3. 我尝试清洁解决方案并重新编译,但存在相同的错误。

1 个答案:

答案 0 :(得分:2)

我注意到您在IgnorableNamespaces属性中有一个错字:

IgnorableNamespaces="uap mp recap"

应该是

IgnorableNamespaces="uap mp rescap"

请注意缺少的“ s”字符。它是“ res 有限制的上限功能”的缩写