- 使用 Submission Validator
- Submission Validator 能识别的问题
- 理解结果日志
- 更新 Submission Validator
- Submission Validator 版本说明
使用 Submission Validator
Submission Validator 并不是开发者直接使用的独立工具。相反,当使用 makepkg pack 命令时,它会被自动调用以检查应用。有关语法和命令行使用的详细信息,请参见 makepkg 参考页。 Submission Validator 会在创建游戏包之后运行。验证失败会记录在验证日志中,该日志写入 makepkg 命令行中指定的输出位置。这与生成的最终游戏包所在的输出位置相同。如果在 makepkg 上设置了/validationlanguage 参数,同一位置还会提供输出的本地化版本(除英文输出之外)。当前额外支持的验证语言是 ja-jp。
Submission Validator 的一部分测试可以在创建游戏包之前通过运行 makepkg validate 命令行执行。我们建议在包创建前运行,以尽早发现问题。
Submission Validator 能识别的问题
Submission Validator 识别的问题类型会随时间不断增加和演进,以实现让游戏从提交、认证到进入市场之路更加顺畅的目标。有关 Submission Validator 当前能检测到的问题列表,请参见 Submission Validator 质量检查。理解结果日志
在makepkg 过程完成后,游戏 XVC 会出现在输出文件夹中。验证日志位于同一文件夹。你可以通过它形如 “Validator_[title and package identifier].xml.” 的名称识别它。你应检查此日志以查找任何失败或警告。除前面各部分中已展示的失败和警告之外,任何 <failure> 标签都表示某种情况会导致你的提交在内容摄取、母带制作和认证阶段被拒绝。虽然没有任何东西阻止你提交这样的包,但这样做会浪费你的时间和精力。更好的做法是修正识别出的问题,直到日志中不再包含 <failure> 标签。
你也可能在日志中看到 <warning> 标签。这些通常表示可能需要豁免的问题。如果你对任何识别出的警告有疑问,请联系你的开发者账户经理(DAM)。即使你为你的游戏获得了豁免,<warning> 标签仍会出现在日志文件中。有关日志消息的完整列表,请参见 Submission Validator 消息。
<validatorrun> 部分位于日志末尾,如下所示。此部分包含一个 <result> 标签,指示 Submission Validator 测试的整体 Fail 或 Success。任何部分中的任一失败都会导致整体失败。
更新 Submission Validator
Submission Validator 实现为一个单独的 SubmissionValidator.dll,位于 Microsoft 游戏开发工具包(GDK)的\Bin 目录中。Submission Validator 的更新并不总是与 Microsoft 游戏开发工具包(GDK)的发布周期一致。Submission Validator 的当前版本始终可从 developer.microsoft.com/games/resources -> downloads 下载。下载压缩(.zip)文件,打开它,并将更新后的 SubmissionValidator.dll 放入 Microsoft 游戏开发工具包(GDK)的 \Bin 目录中,覆盖以前版本的 Submission Validator。Certification Tools 页面还包括当前发布版本号和日期。压缩文件内部有一个文本文件,其中包含当前版本的发布说明,包括已知问题以及 Submission Validator 执行的检查相对于本文中描述发生的变化。
从 2025 年 10 月 GDK 起,makepkg 支持 /updatesubval 选项,它会检查 SubmissionValidator.dll 是否有更新版本。如果有可用更新,此选项会下载并安装该 DLL 到包含 makepkg.exe 的目录,默认是 GDK 的 \Bin 目录。如果指定了 /validationpath,则该 DLL 会安装到该目录中。如果更新失败,打包或验证会继续使用当前已安装版本的 SubmissionValidator.dll。
从 2026 年 10 月 GDK 起,可使用独立的 makepkg updatesubval 命令来更新 SubmissionValidator.dll,而无需创建、验证或上传包。与 /updatesubval 选项不同,独立命令在更新失败时会返回非零退出码。
当应用、游戏或内容包提交给 Microsoft 时,会使用当前版本的 Submission Validator 检查该提交。在提交你的应用、游戏或内容包之前,我们建议你确保你构建提交包所在的开发 PC 上装有最新版本的 Submission Validator。
