解决提交错误Resolve submission errors

如果将应用提交到应用商店后遇到错误,必须解决这些错误才能继续进行认证过程If you encounter errors after submitting your app to the Store, you must resolve them in order to continue the certification process. 错误消息将指示问题所在,以及为解决该问题而可能需要执行的操作。The error message will indicate what the problem is and what you might need to do in order to fix the issue. 下面是一些可帮助你解决这些错误的其他信息。Here is some additional info that can help you resolve these errors.

UWP 应用UWP apps

如果你正在提交 UWP 应用,则在预处理过程中,如果你的包文件不是由 Visual Studio 为存储生成的 msixupload 或 .appxupload 文件,则可能会出现错误。If you are submitting a UWP app, you may see an error during preprocessing if your package file is not a .msixupload or .appxupload file generated by Visual Studio for the Store. 请确保按照在创建应用包文件时 使用 Visual Studio 打包 UWP 应用 中的步骤进行操作,并且仅在提交的 " " 页上上传 msixupload 或 .appxupload 文件,而不是 .msix/appx 或 .msixbundle/.appxbundle。Be sure that you follow the steps in Package a UWP app with Visual Studio when creating your app's package file, and only upload the .msixupload or .appxupload file on the Packages page of the submission, not a .msix/appx or .msixbundle/appxbundle.

如果显示了编译错误,请确保能够在发布模式中成功生成应用程序。If a compilation error is displayed, make sure that you are able to build your application in Release mode successfully. 有关详细信息,请参阅 .NET 本机内部编译器错误For more info, see .NET Native Internal Compiler Errors.

桌面应用程序Desktop application

如果打算提交包含 Win32 和 UWP 二进制文件的包,请确保使用 Visual Studio 2017 Update 4 和更高版本中提供的 Windows 打包项目创建该包。If you plan to submit a package that contains both Win32 and UWP binaries, make sure that you create that package by using the Windows Packaging Project that is available in Visual Studio 2017 Update 4 and later versions. 如果使用 UWP 项目模板创建包,可能无法将该包提交到存储区或将其旁加载到其他电脑上。If you create the package by using a UWP project template, you might not be able to submit that package to the Store or sideload it onto other PCs. 即使包成功发布,它也可能会以意外的方式在用户的电脑上运行。Even if the package publishes successfully, it might behave in unexpected ways on the user's PC. 有关详细信息,请参阅 使用 Visual Studio 打包应用 (桌面桥) For more info, see Package an app by using Visual Studio (Desktop Bridge).

Windows Phone 3.x 和更早版本Windows Phone 8.x and earlier

重要

从2018年10月31日起,新创建的产品不能包含针对 Windows Phone 3.x 或更早版本的包。As of October 31, 2018, newly-created products cannot include packages targeting Windows Phone 8.x or earlier. 有关详细信息,请参阅此 博客文章For more info, see this blog post.

在预处理过程中检测到 Windows Phone 程序包的问题时,你可能会看到错误 2001You may see error 2001 when problems with Windows Phone packages are detected during preprocessing. 在大多数情况下,需要重新生成你的应用包来更正错误。In most cases, you will need to rebuild your app's package to correct the error. 完成后,请在提交的程序包页面上将旧程序包替换为新程序包,然后再单击“提交到应用商店”****。Once you've done that, replace the old package with the new one on the Packages page of the submission before you click Submit to the Store again.

有多种错误可能会导致此错误。There are a number of issues that may cause this error. 查看下面的列表来确定哪一种情形可能适用于你的程序包。Review the list below to determine which might apply to your packages.

  • 程序包中的一个或多个程序集未正确混淆: 使用其他工具执行混淆,或删除混淆。One or more assemblies in the package are obfuscated incorrectly: Use a different tool to perform the obfuscation, or remove the obfuscation. 编译进程将优化混淆的程序集,但有时以不受支持的方式使用修改 MSIL 的工具来混淆某些程序集将会导致错误。The compile process optimizes the obfuscated assemblies, but occasionally some assemblies are obfuscated using a tool that modifies the MSIL in an unsupported way that will cause an error.
  • 应用中的一个或多个方法的大小超出 256KB 的 IL: 将有问题的方法重构为更小的函数。The size of one or more methods in the app exceeds 256 KB of IL: Refactor the offending method into smaller functions. 对于程序集中方法的 MSIL 的大小,可以通过使用 ILDASM 工具来确定。The size of MSIL for methods in an assembly can be determined by using the ILDASM tool.
  • 一个或多个程序集的强名称签名验证失败: 此错误通常在使用不同于程序集元数据中预期的密钥来执行强名称签名时发生。The strong name signature validation failed for one or more assemblies: This error typically occurs when the strong name signing was performed using a key different than the one expected in the assembly metadata. 使用正确的密钥签名或删除强名称签名。Sign with the correct key, or remove strong name signing.
  • 该程序包包含混合模式(带有托管代码和本机代码)程序集: 在 Windows Phone 上不支持混合模式程序集。The package contains mixed-mode (with managed and native code) assemblies: Mixed-mode assemblies are not supported on Windows Phone. 从程序包删除混合模式程序集并重新提交应用。Remove the mixed-mode assemblies from the package and resubmit the app.
  • Windows Phone 8.1 XAP 或 appx/appxbundle 程序集无效: 请确保 .winmd 文件具有至少一个公共入口点。A Windows Phone 8.1 XAP or appx/appxbundle assembly is not valid: Make sure your .winmd file has at least one public entry point. 如有需要,可以使用任何反编译程序应用程序查看代码并检查公共入口点。You can use any decompiler application to review the code and check for public entry points if needed.

在提交应用后,你可能会看到的另一个错误是错误 1300Another error that you might see after submitting your app is error 1300. 当一个或多个程序集(或整个程序包)已预编译时会发生此错误。This occurs when one or more assemblies (or the entire package) is already precompiled. 若要解决此问题,请在 Microsoft Visual Studio 中重新编译应用包,然后提交新生成的程序包。To fix this issue, rebuild the app's package in Microsoft Visual Studio and then submit the newly-generated package.

名称/标识错误Name/identity errors

如果你看到显示“在程序包中找到的名称不是保留的应用名称之一。请保留应用名称和/或使用此语言的正确应用名称更新程序包”**** 错误,这可能是因为你在程序包中输入了错误的名称。If you see an error that says The name found in the package is not one of your reserved app names. Please reserve the app name and/or update your package with the correct app name for this language, it may be because you’ve entered an incorrect name in your package. 如果你使用的应用名称未在合作伙伴中心保留,也会出现此错误。This error can also occur if you are using an app name that you haven’t reserved in Partner Center. 通常,你可以遵循以下步骤来解决此错误:You can usually resolve this error by following these steps:

  • 转到应用应用标识页(在应用管理下),确认应用是否分配了标识。Go to the App identity page for your app (under App management) to confirm whether your app has an assigned Identity. 如果没有,将看到创建一个标识的选项。If it doesn’t, you’ll see an option to create one. 需要保留一个应用名称才能创建该标识。You’ll need to reserve a name for your app in order to create the Identity. 请确保这是已在程序包中使用过的名称。Make sure this is the name you’ve used in your package.
  • 如果应用已经具有标识,可能仍然需要保留要在程序包中使用的名称。If your app already has an identity, you might still need to reserve the name that you want to use in your package. 应用管理下,单击管理应用名称Under App management, click Manage app names. 输入你想要使用的名称,然后单击“保留应用名称”****。Enter the name you’d like to use, and click Reserve app name.

重要

如果想要使用的名称不可用,可能是其他应用已经保留了该名称。If the name you want to use is not available, another app might have already reserved that name. 如果应用已经使用该名称发布,或者如果认为你有权使用它,请联系支持人员If your app is already published under that name, or if you think you have the right to use it, contact support.