由于AppxManifest.xml中有200多个资源,导致生成错误C00CE014

时间:2018-12-31 04:01:36

标签: c# uwp localization visual-studio-2017

我正在构建UWP应用程序,并且在Visual Studio Community 2017版本15.9.4中资源数量为200+时,出现构建错误。如果我将资源数量减少到200以下,那么它的构建就可以了。这是社区版本的限制吗?我打算将应用提交到Microsoft Store,除非我限制市场,否则该应用将失败,因为它不支持资源文件中包含的所有必需语言代码。

我已经尝试从头开始构建项目...重现下面详细介绍的步骤。我已经减少了资源清单,但是现在我不得不拒绝某些市场的应用程序,因为我相信Microsoft Store除非该应用程序支持该市场的语言,否则不会接受我的应用程序。

  1. 如果有任何区别,请使用Microsoft.NETCore.UniversalWindowsPlatform v6.2.3 NuGet程序包(而不是其他NuGet程序包)启动Microsoft Visual Studio Community 2017版本15.9.4。
  2. 点击并从主菜单中选择File=>New=>Project
  3. 选择Windows Universal=>Blank App(通用Windows),然后单击“确定”。
  4. 选择目标版本17763和最低版本16299,然后单击“确定”(但是其他版本设置也会出现相同的错误)。
  5. 选择Project=>Store=>Create App Packages
  6. 选择“我想创建用于侧面加载的软件包”(但Store App会发生相同的错误),然后单击“下一步”。
  7. 点击创建以接受默认设置。
  8. 单击“确定”关闭弹出窗口,指示已创建包。
  9. 单击“构建解决方案”或按F6。
  10. 右键单击该应用程序项目,然后选择“新建文件夹”,然后将其重命名为“本地化”。
  11. 右键单击“本地化”文件夹,然后选择“新建文件夹”。
  12. 使用https://docs.microsoft.com/en-us/windows/uwp/publish/supported-languages上列出的支持的语言代码之一来命名文件夹。
  13. 右键单击新文件夹,然后选择Add => New Item。
  14. 选择XAML =>资源文件(.resw),然后单击“添加”。
  15. 输入任何值(例如String1)作为String1名称并保存。
  16. 为所有受支持的语言代码创建其他子文件夹,并将相同的资源文件复制到这些文件夹中。
  17. 将那些资源文件添加到项目中。
  18. 尝试构建项目。

结果:

Error       Validation error. error C00CE014: App manifest validation error: The app manifest must be valid as per schema: Line 223, Column 6, Reason: Element '{http://schemas.microsoft.com/appx/manifest/foundation/windows10}Resource' is unexpected according to content model of parent element '{http://schemas.microsoft.com/appx/manifest/foundation/windows10}Resources'. App1    C:\Users\Steve\Documents\Visual Studio 2017\Projects\UWP\App1\App1\bin\x86\Debug\AppxManifest.xml   

注意:第223行是第200条资源行:<Resource Language="LT" />所在的行。但是,如果从项目中删除Resources.resw文件,直到项目中有202个或更少的本地化资源,该错误就会消失。此错误使我的UWP应用程序无法在所有支持的市场上使用。

0 个答案:

没有答案