> ## 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 开发的 Visual Studio 属性

> 面向 XBOX 开发的 Visual Studio 属性

Microsoft Game Development Kit (GDK) 提供了用于配置 XBOX 项目的自定义 Visual Studio 属性页。

#### 访问 XBOX 属性页

1. 在**解决方案资源管理器**中，右键单击项目名称，然后选择**属性**。
2. 展开**配置属性**。
3. 查看 **XBOX General**、**XBOX Deploy**、**XBOX Layout** 与**调试**属性页。

可用的 **XBOX** 及相关属性页如下。

* [XBOX General](#general)
* [XBOX Deploy](#deploy)
* [XBOX Layout](#layout)
* [调试](#debugging)
* [相关属性页](#related)
* [游戏依赖项查找](#gamedependency)

<a id="general" />

## XBOX General

**XBOX General** 属性页包含以下属性。

* **Gaming Edition Target.** 指定生成项目所使用的 GDK 版本。默认为你的开发 PC 上安装的最高 GDK 版本。
* **Gaming Extension Libraries.** 指定要使用的 Gaming Extension 库集合（例如 Xbox.Services.API.C）。
* **Alternate Binary Subdirectory** 此可选属性用于指定游戏根目录下用于二进制文件与 CRT 依赖项的子目录。它用于镜像 Layout 文件夹中的结构，并将被调试器用于在调试时定位可执行文件。指定子目录时，MicrosoftGame.config 仍应位于游戏的根目录中。同时也需要更新 MicrosoftGame.config 中可执行文件位置的相关路径。
* **Remote IP Address.** 指定远程主机名或 IP 地址。这是部署、运行和调试所生成项目的目标主机。如果此属性留空或设置为空，将使用由 [Connect (xbconnect.exe)](/tools/tools-console/commandlinetools/xbconnect)、[XBOX Manager](/tools/tools-console/xbom/xbom) 或 [Windows Device Portal](/tools/tools-console/wdp/wdp) 指定的默认远程主机。
* **Package Localization Dir.** 指定一个相对于项目目录的可选目录，用于在创建本地化 shell 资源时使用。有关向项目添加本地化资源的更多信息，请参阅 [MicrosoftGame.config localization](/build/core-features/common/game-config/MicrosoftGameConfig-Localization)。

**图 1.   XBOX General 属性页** <img src="https://mintcdn.com/microsoft-4404708b/6TXzXmujKayly5Sf/images/gdk/tools/property_page_general.png?fit=max&auto=format&n=6TXzXmujKayly5Sf&q=85&s=2dd98c01503a3c4b3a5a8fb40167fca2" alt="General property page" width="1162" height="809" data-path="images/gdk/tools/property_page_general.png" />

<Note>
  也可以在与 *project*.vcxproj 一起存储在项目目录中的 *project*.vcxproj.user 文件内指定远程 IP。该文件应采用以下格式。
</Note>

```text theme={null}
  <?xml version="1.0" encoding="utf-8"?>  
  <Project ToolsVersion="4.0" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">  
    <PropertyGroup>  
      <RemoteAddress>10.10.10.10</RemoteAddress>  
    </PropertyGroup>  
  </Project>  
```

在上面的示例中，*10.10.10.10* 应替换为你的远程主机地址。

<a id="deploy" />

## XBOX Deploy

**XBOX Deploy** 属性页允许选择每种部署方式。根据所选方式，属性页会包含不同的选项。有关部署的更多信息，请参阅[将游戏部署到 XBOX 开发套件](/home/setup-install/concepts/deployment)。

### XBOX Deploy 方式：Push（从开发套件运行）

此部署方式将游戏部署到开发套件上的一个文件夹（默认是 xD:\Titles）。该部署方式包含以下属性。

* **Deployment folder path override.** 可选属性，用于覆盖开发套件上的默认部署路径。
* **Remove extra files from target device.** 可选属性，选中时会移除主机上不属于当前项目构建输出的文件（孤立文件）。

### XBOX Deploy 方式：External（不使用 Visual Studio 部署）

此部署方式将部署任务交给外部独立机制来完成。该部署方式包含以下属性。

* **Title launch string.** 启动调试（F5）时用于启动游戏的启动字符串。
* **Target devkit titles.** 从目标开发套件上与当前项目匹配的游戏列表中选择，用于填充游戏启动字符串。

### XBOX Deploy 方式：Run from PC（注册网络共享）

此部署方式通过开发套件可访问的网络共享，从开发 PC 上运行游戏。

* **Network share path override.** 可选属性，用于覆盖 Run From PC 部署时的默认网络共享路径。
* **Network share username.** 可选属性，用于访问需要凭据的网络共享位置（SMB 网络共享）。
* **Network share password.** 可选属性，用于访问需要凭据的网络共享位置（SMB 网络共享）。

> <img src="https://mintcdn.com/microsoft-4404708b/z-rLYkO3Ax6HPtgm/images/gdk/tools/caution.gif?s=c35e42b8bb5ca0bdac12d10f6c467c29" alt="caution" width="11" height="11" data-path="images/gdk/tools/caution.gif" />**注意：** 此用户名和密码以纯文本方式传输，并以纯文本形式在本地存储。为了提高安全性，请将此字段留空，并按 [XBOX Device Portal (Windows Device Portal on XBOX)](/tools/tools-console/wdp/wdp) 或 [Developer Home on the Console (Dev Home)](/tools/tools-console/devhome/devhome) 中所述来管理你的凭据。

**图 2.   基于部署方式的 XBOX Deploy 属性页** <img src="https://mintcdn.com/microsoft-4404708b/6TXzXmujKayly5Sf/images/gdk/tools/property_page_deploy.png?fit=max&auto=format&n=6TXzXmujKayly5Sf&q=85&s=2645bd2b57441d389e5d623a215d9602" alt="Deploy property page for Push" width="1173" height="817" data-path="images/gdk/tools/property_page_deploy.png" />

<img src="https://mintcdn.com/microsoft-4404708b/6TXzXmujKayly5Sf/images/gdk/tools/property_page_deploy_external.png?fit=max&auto=format&n=6TXzXmujKayly5Sf&q=85&s=6956ecceabb322d6b75dae3477011d39" alt="External 部署属性页" width="1173" height="817" data-path="images/gdk/tools/property_page_deploy_external.png" />

<img src="https://mintcdn.com/microsoft-4404708b/6TXzXmujKayly5Sf/images/gdk/tools/property_page_deploy_rfpc.png?fit=max&auto=format&n=6TXzXmujKayly5Sf&q=85&s=cc068e6967bb903be4e5a6c57149bd2c" alt="Run from PC 部署属性页" width="1173" height="817" data-path="images/gdk/tools/property_page_deploy_rfpc.png" />

<a id="layout" />

## XBOX Layout

**XBOX Layout** 属性页包含以下属性。

* **Layout Directory.** 指定用于放置构建结果的本地目录。应用会从该目录部署到远程主机。
* **Exclusion Filter.** 指定不会从构建输出目录复制到 Layout 目录的文件与文件类型。请注意，此属性无法排除位于构建输出目录之外的文件。
* **Isolate Configurations.** 设置为 **Yes** 时，Visual Studio 会将每个生成配置视为独立的输出，用于确定复制到 Layout 目录的文件列表。默认值为 **No**。
* **Game OS.** 指定 Game OS 的路径，该 Game OS 会随游戏的松散文件布局一起提供。
* **Deploy from Outdir.** 设置为 **Yes** 时，Visual Studio 会部署构建输出目录的内容，而不会在部署前将文件复制到 Layout 目录。**Layout Directory**、**Exclusion Filter** 和 **Isolate Configurations** 属性的值将被忽略。

**图 3.   XBOX Layout 属性页** <img src="https://mintcdn.com/microsoft-4404708b/6TXzXmujKayly5Sf/images/gdk/tools/property_page_layout.png?fit=max&auto=format&n=6TXzXmujKayly5Sf&q=85&s=996357b982ee8d5b00c0ea2b5252398c" alt="Layout property page" width="785" height="545" data-path="images/gdk/tools/property_page_layout.png" />

<a id="debugging" />

## 调试

**调试**属性页包含以下属性。

* **要启动的调试器：** 对于 XBOX 项目，选择 **XBOX Game Core Debugger**。
* **Debugger Type.** 指定要使用的调试器类型。设置为 Auto 时，将根据 .exe 文件的内容选择调试器类型。
* **Command Arguments.** 传递给应用的命令行参数。
* **Log Module Loading.** 启用详细的调试输出，其中包含模块加载信息。**Log Module Loading** 选项在调试 “找不到依赖 dll” 类问题时很有用。

**图 4.   调试属性页** <img src="https://mintcdn.com/microsoft-4404708b/6TXzXmujKayly5Sf/images/gdk/tools/property_page_debug.png?fit=max&auto=format&n=6TXzXmujKayly5Sf&q=85&s=76a15961c2b3b73d8fc332052faa57f8" alt="Debugging property page" width="1172" height="812" data-path="images/gdk/tools/property_page_debug.png" />

<a id="related" />

## 相关属性页

还有一些属性虽然并非 XBOX 独有，但对 XBOX 应用而言具有必需或推荐的设置。这些设置可确保 XBOX 应用的正常且最优运行，具体如下。

**RandomizedBaseAddress：** 必须设置为 **Yes**，这是 GDK 项目的默认值。此设置是地址空间布局随机化（ASLR）正常工作所必需的。XBOX 应用要求启用 ASLR。请勿将 **RandomizedBaseAddress** 设置为 **No**，也不要尝试禁用 ASLR。

**RandomizedBaseAddress** 在**链接器**/**高级**属性页中设置。

<a id="gamedependency" />

## 游戏依赖项查找

在项目中指定游戏依赖项时，除了游戏根目录 G: 之外，还会在本地路径以及所有子目录中查找依赖文件。

<a id="ID4EIIAC" />

## 另请参阅

[Application Management (xbapp.exe)](/tools/tools-console/commandlinetools/xbapp)

[Connect (xbconnect.exe)](/tools/tools-console/commandlinetools/xbconnect)

[将游戏部署到 XBOX 开发套件](/home/setup-install/concepts/deployment)

[操作方法：使用 Visual Studio 部署游戏资源文件](/tools/tools-console/visualstudio/how-to-deploy-resources)


## Related topics

- [Visual Studio 2022 GDK 支持说明](/zh-CN/tools/tools-console/visualstudio/vs-2022-support-notes.md)
- [Visual Studio 2026 GDK 支持说明](/zh-CN/tools/tools-console/visualstudio/vs-2026-support-notes.md)
- [XBOX Gaming Project Control](/zh-CN/tools/tools-console/visualstudio/xbox-gaming-project-control.md)
- [XBOX Gaming Explorer](/zh-CN/tools/tools-console/visualstudio/xbox-gaming-explorer.md)
- [面向主机开发的 Visual Studio](/zh-CN/tools/tools-console/visualstudio/visualstudio.md)
