【问题标题】:Error when uploading UWP app to Windows Store: Failed to merge PRI file \Resources_split.scale-100.pri将 UWP 应用上传到 Windows 应用商店时出错:无法合并 PRI 文件 \Resources_split.scale-100.pri
【发布时间】:2018-05-10 12:00:37
【问题描述】:

我正在将我的应用程序的最新版本上传到 Windows 商店,但我的应用程序抛出错误:

包裹接受验证错误:我们遇到了一个致命错误 在解析包时 MyApp.UWP_2.33.0.0_x86_x64_ARM_AppStore.appxbundle:失败 合并 PRI 文件 D:\data\Temp\69b5c2ab-3419-4197-839c-2ef13d218413\Resources_split.scale-100.pri: 80070490。重试或上传新包。

我什至不知道从哪里着手修复这个错误。

有没有其他人看到这个错误或有任何倾向?

这也是在Windows App Certification Kit上运行的时候抛出类似的错误附上下面的截图:

到目前为止我已经尝试过:

  • 运行 WsReset
  • 运行 sfc /scannow
  • 增加应用版本号

以上方法均无效

会不会是这个 msbuild 错误:https://developercommunity.visualstudio.com/content/problem/107928/get-merge-failure-for-shared-merged-pri-file-0x800.html

【问题讨论】:

  • 这因低级操作系统错误而失败,0x80070490 == ERROR_NO_MORE_USER_HANDLES ==“当前进程已使用其所有系统允许的窗口管理器对象句柄”。在假期周末,当没有人照料它们时,这种事故往往会经常袭击 Microsoft 服务器。等一两天,重启你的机器,这是你的结果,然后再试一次。
  • @HansPassant 感谢您提供的额外信息。我将在他们今天打开时打开支持票,我还将尝试按照建议重新启动我的构建机器,以排除这种情况
  • @HansPassant 我在本地机器上运行Windows App Certification kit 时也遇到同样的错误。我认为这可能是不是微软一方的软件包有问题
  • 嗯,这很奇怪,错误代码非常具体,并不罕见。使用任务管理器,进程选项卡。添加“用户对象”列。寻找数量太多、数千个的进程。如果看到它们,请重新启动。如果在运行时没有观察到 WACK,则当计数达到 10000 时,它将因此错误而崩溃。
  • @HansPassant 在我的机器(不是我的构建机器)上构建并没有引发App Cert Kit 的错误。这意味着问题一定是我的构建机器正在创建一个损坏的包。该机器上的 Windows 更新或我通过 VS 构建的机器上的事实和构建机器使用 msbuild。我会试试你上面说的

标签: uwp windows-10-universal windows-store


【解决方案1】:

我发现的一种解决方法是摆脱 ARM 配置。

所以你只使用x86|x64 而不是x86|x64|ARM 进行构建,如果你需要为ARM 构建显然这无济于事

但我认为这是 MsBuild 最近更新中的一个错误,您可以在此处看到其他人报告的错误: https://developercommunity.visualstudio.com/content/problem/107928/get-merge-failure-for-shared-merged-pri-file-0x800.html?

【讨论】:

    【解决方案2】:

    我几乎遇到了这个确切的错误。在挖掘了一个月以前的提交之后,我在我的 csproj 中遇到了这个问题。

    <GenerateLibraryLayout>true</GenerateLibraryLayout>
    

    我不确定何时打开它,但在我删除该行后,我重新打包了我的代码,并能够将我的 appxbundle 上传到 Windows 商店。非常令人沮丧的是错误的误导性。

    【讨论】:

      【解决方案3】:

      我也遇到了类似错误的问题,禁用 ARM 和调整 .csproj 选项没有帮助。

      我们解绑、捆绑和退出软件包的诀窍是什么。 这是微软支持团队经过几个月的“沟通”后提供的。

      基本上我们解压 .appxupload 文件并在 .appxbundle 文件上执行以下命令。

      makeappx.exe unbundle /v /p <<NAME>>.appxbundle /d "temp"
      makeappx.exe bundle /v /p <<NAME>>_rebundled.appxbundle /d "temp"
      "C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\signtool.exe" sign /fd SHA256 /a /f "<<CERTIFICATE_LOCATION>>" <<NAME>>_rebundled.appxbundle
      

      在此之后,我压缩了 sym 文件并将新捆绑的 .appxbundle 到 .appxupload 文件

      【讨论】:

      • 如何解压和压缩.msixupload文件?
      • 只使用 7zip
      • 您是如何使用 7zip 将 .appxbundle 转换为 .appxupload 的?或者在我的情况下将.msixbundle 转换为.msixupload。您是否使用了 zip 存档格式,然后只是重命名它?还想知道您指的是什么 sym 文件。
      • 我们从未将捆绑文件转换为上传文件,因为捆绑文件位于上传文件的内部。实际上,上传文件只是一个 zip,其中包含一个捆绑文件和一个 .appxsym 文件,用于您正在构建的每个配置(这些类似于 .NET Framework 中的 .pdb 文件)我基本上只是压缩了这些文件并将扩展名重命名为.appxupload
      • 确实,我也可以上传.msixbundle ,谢谢!
      猜你喜欢
      • 2020-04-17
      • 2016-05-04
      • 1970-01-01
      • 2013-01-20
      • 1970-01-01
      • 2018-09-11
      • 2015-03-17
      • 1970-01-01
      • 2023-03-29
      相关资源
      最近更新 更多