> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 为 XBOX Series X|S 与 XBOX One 配置 Visual Studio

> 为 XBOX Series X|S 与 XBOX One 生成配置 Visual Studio

你可以在单个项目或解决方案中使用 Visual Studio 同时构建游戏的 XBOX Series X|S 版本和 XBOX One 版本。以这种方式使用 Visual Studio，你可以更方便地管理同时面向 XBOX One 和 XBOX Series X|S 两代平台的游戏所需的源代码和生成配置差异。

根据你的代码结构和生成流程的设计，可以选择在同一个项目中构建给定二进制文件的 XBOX One 和 XBOX Series X|S 版本，或在同一解决方案中使用不同的项目分别构建它们。对于代码在 XBOX Series X|S 和 XBOX One 之间基本一致的二进制文件（例如非图形代码），使用同一个项目进行构建通常是合理的选择。而对于代码在两个平台之间差异较大的项目，采用独立的项目可能更易于管理。

利用 Visual Studio 中的平台概念，可以将 XBOX Series X|S 版本的生成配置设置与 XBOX One 版本所需的设置分开。

使用 Microsoft Game Development Kit (GDK) 提供的 Visual Studio 模板创建的项目，包含针对 XBOX One 和 XBOX Series X|S 两个平台的定义。XBOX One 平台的名称为 `Gaming.Xbox.XboxOne.x64`。XBOX Series X|S 平台的名称为 `Gaming.Xbox.Scarlett.x64`，如下面的截图所示。

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_scarlett_config.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=43dd3823fa1808f1d6991e6a4f5c3471" alt="显示 Gaming.Xbox.XboxOne.x64 与 Gaming.Xbox.Scarlett.x64 平台的 Visual Studio 模板截图" width="228" height="121" data-path="images/gdk/tools/vs_scarlett_config.png" />

`Gaming.Xbox.XboxOne.x64` 和 `Gaming.Xbox.Scarlett.x64` 平台指定了为 XBOX One 或 XBOX Series X|S 构建游戏所需的预处理器定义、include 与库路径以及其他设置。例如，`Gaming.Xbox.Scarlett.x64` 平台会设置以下预处理器定义。

```cpp theme={null}
_GAMING_XBOX_SCARLETT
```

该平台通过使用 msbuild 属性将以下目录添加到 include 与库路径列表中。

```cpp theme={null}
C:\Program Files (x86)\Microsoft GDK\260400\GXDK\gameKit\Include\Scarlett
C:\Program Files (x86)\Microsoft GDK\260400\GXDK\gameKit\lib\amd64\Scarlett
```

`Gaming.Xbox.XboxOne.x64` 平台会对构建环境进行相应的更改，以便构建游戏的 XBOX One 版本。

使用 msbuild 进行构建时，可以在命令行上指定这些平台，如下面的代码示例所示。

```cpp theme={null}
msbuild MySolution.sln /p:Configuration=Debug /p:Platform="Gaming.Xbox.Scarlett.x64"
```

## 使用其他生成系统

如果你的生成系统不是 Visual Studio 和 msbuild，你可以通过比较 GDK 附带的 msbuild .targets 与 .props 文件的 XBOX Series X|S 版本和 XBOX One 版本，来确定为跨代开发需要对自己的生成系统进行哪些更改。

这些文件安装在 *C:\Program Files (x86)\Microsoft GDK\260400\GXDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms* 下的 `Gaming.Xbox.Scarlett.x64` 和 `Gaming.Xbox.XboxOne.x64` 目录中。

有关不使用 Visual Studio 构建所需具体设置的更多信息，请参阅[面向 XBOX One 的 Microsoft Game Development Kit 移植指南](/build/console-features/porting-from-xbox-one-era/porting-guide-for-existing-era)。

## 另请参阅

[Visual Studio](/tools/tools-console/visualstudio/visualstudio)


## Related topics

- [Visual Studio](/zh-CN/tools/tools-console/visualstudio/index.md)
- [面向主机开发的 Visual Studio](/zh-CN/tools/tools-console/visualstudio/visualstudio.md)
- [面向 XBOX 开发的 Visual Studio 项目模板](/zh-CN/tools/tools-console/visualstudio/durango-visual-studio-templates.md)
- [安装 GDK 工具链](/zh-CN/home/setup-install/download-install.md)
- [使用 Visual Studio 调试 XBOX 项目](/zh-CN/tools/tools-console/visualstudio/debugging-with-visualstudio.md)
