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

# XBOX Gaming Project Control

> XBOX Gaming Project Control

GDK 會在 Visual Studio 殼層中安裝一個名為 **XBOX Gaming Project Control** 的工具視窗。此工具視窗提供一個集中位置，用於管理所有 XBOX 特定的專案設定。除了集中管理 XBOX 專案設定之外，**XBOX Gaming Project Control** 也有助於確保設定正確，並能成功完成部署與偵錯工作階段。個別設定會在輸入時驗證其正確性。設定值在不同組態間不一致的情況也會被標示出來。識別這些不一致之處的目的，是協助您及早發現在不同組態中不小心設定為不同值的情況。例如，**XBOX Gaming Project Control** 會醒目提示您的 *Debug*、*Release* 與 *Profile* 組態之間部署方法不同的情況。

使用 XBOX 功能表存取 **XBOX Gaming Project Control**。XBOX 功能表位於 Visual Studio 延伸模組功能表底下，如下圖所示。

![XBOX Gaming Project Control 功能表項目](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_gpc_menu_item.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=6d8cf2a624d24bd70d2e7398a20a2d5b)

概觀頁面會識別目前選取的組態與平台，並提供一組按鈕，用於存取設定下列項目的詳細資料頁面。

* 部署
* MicrosoftGameConfig.mgc 指派
* 命令引數
* 模組載入記錄
* 暫停逾時時中斷

*Advanced Controls* 下拉式清單可存取 *Deploy from OutDir*、*OutDir*、*LayoutDir* 與 *LayoutExtensionFilter* 屬性的編輯頁面。

![XBOX Gaming Project Control](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_gpc_overview.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=92d215f9d4545e5a986ae80459bcbaa5)

設定按鈕上的綠色核取記號表示該類別的設定值已通過驗證，且在所有組態中都相同。紅色驚嘆號表示設定值有錯誤，或設定值在所有組態中不相同。在下圖中，*Command Arguments* 的設定有效且一致，但 *Deployment* 設定則不然。

![XBOX Gaming Project Control 中不一致的設定](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_gpc_inconsistent_settings.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=8c6a583208231e0c62baf23a7a6ed593)

請注意，值因組態而異的設定並不一定表示該設定的組態不正確。例如，不同組態使用不同的命令列引數是相當常見的。相反地，每個組態使用不同的部署方法並不常見，因此可能表示部署設定不小心設定得不一致。出現紅色驚嘆號表示您可能需要檢閱設定，而不是絕對表示設定不正確。

使用 **XBOX Gaming Project Control** 對屬性所做的變更會立即寫入專案檔。不需要以 *Ok* 或 *Apply* 按鈕的形式執行其他動作。所有編輯都與 Visual Studio 的復原/取消復原堆疊完全整合。使用 Visual Studio 工具列或標準的 Ctrl-Z 與 Ctrl-Y 按鍵序列存取復原/取消復原堆疊。下圖顯示一個包含數個以 **XBOX Gaming Project Control** 編輯之屬性的復原堆疊。

![包含 XBOX Gaming Project Control 屬性編輯的復原堆疊](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_gpc_undo.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=8d2a60e07ac7817f2c11602bb3978bc9)

可使用 **XBOX Gaming Project Control** 編輯的屬性，也可以使用 Visual Studio [C++ 專案屬性頁](https://docs.xbox.com/zh-TW/tools/tools-console/visualstudio/durango-property-pages.md)編輯。進行編輯時，所有屬性的值都會在兩個視窗之間保持同步。

## 部署設定

使用 *Deployment* 頁面為使用中的組態與平台指定部署方法與方法特定的設定。選取 *Push*、*RfPC* 或 *External* 按鈕其中之一來選擇部署方法。目前選取的部署方法會以對應部署方法按鈕周圍的綠色醒目提示來表示。

部署方法特定的設定會依所選的方法顯示。在下圖中，已選取 *RfPC* 部署方法。提供了編輯方塊，可變更啟動字串以及輸入選用認證。

![從 PC 執行部署選項](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_gpc_runfrompc.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=3d9518f78a087ab51390f4c64abf3a09)

如果部署方法在所有組態中不相同，差異的原因會顯示在部署方法按鈕右側的控制項中。在下圖中，部署頁面目前正在編輯 *Profile* 組態的部署設定，其部署方法設為 *RfPC*。不過，如部署差異控制項中所述，*Release* 組態的部署方法設為 *Push*。

![每個組態的部署方法不同](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_gpc_deploy_diff.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=b274eebce09d4896c0cf1a1aaff4ae91)

如有需要，可以使用 *Align* 按鈕在各組態之間同步部署設定。在此案例中，按一下 *Align* 按鈕會將 *Release* 組態的部署方法從 *Push* 變更為目前組態與平台所使用的方法，在此案例中為 *RfPC*。

## MicrosoftGameConfig.mgc 設定

Visual Studio 專案系統與 msbuild 檔案支援為每個建置組態指定不同的 [MicrosoftGameConfig.mgc](https://docs.xbox.com/zh-TW/build/core-features/common/game-config/MicrosoftGameConfig-toc.md) 檔案。建置專案時，MicrosoftGameConfig.mgc 檔案在複製到輸出目錄時會重新命名為 MicrosoftGame.config。

按一下 *MicrosoftGame.config assigment* 按鈕會開啟一個頁面，可讓您指定每個建置組態要使用的 MicrosoftGameConfig.mgc 檔案。您也可以指定預設的 MicrosftGameConfig.mgc 檔案。除非明確覆寫，否則所有組態都會使用此預設檔案。

使用 *Project Default* 下拉式清單指定預設的 MicrosoftGameConfig.mgc 檔案，如下圖所示。請注意，第一次使用其中一個 Microsoft Game Development Kit (GDK) 範本建立專案時，會隱含地為您設定預設的 MicrosoftGameConfig.mgc。

![指定預設的 MicrosoftGame.config 檔案](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pgc_mgc_default.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=676bd71f9777b42e5842b6f1fefc1713)

下拉式清單值為 *Unselected* 的組態會使用預設的 MicrosoftGameConfig.mgc 檔案。從下拉式清單選取檔案，即可覆寫指定組態的預設檔案，如下圖所示。

![覆寫預設的 MicrosoftGame.config 檔案](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pgc_mgc_override.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=28bf2653de7268850689e2df6a8a738b)

## 命令引數

使用 *Command Arguments* 頁面編輯每個建置組態的引數。每個組態都提供個別的編輯方塊。

![XBOX Gaming Project Control 中的命令引數](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pgc_command_args.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=47009d739b861cd27b8950b171a450dd)

## 模組載入記錄

使用 *Logging of Module Loads* 按鈕啟用詳細資訊偵錯輸出，其中包含模組載入資訊。按鈕本身上的滑桿會切換使用中建置組態的屬性。

![XBOX Gaming Project Control 中的模組載入記錄](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pgc_log_module_load_button.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=3307ed75ded555f10100f15a0fe82724)

按一下按鈕會開啟一個頁面，可讓您指定所有建置組態的值。

![為每個建置組態指定模組載入記錄](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pgc_log_module_load_configs.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=41760b956e049ada9dedccd9bae3063f)

## 暫停逾時時中斷

使用 *Break execution on suspend timeout* 按鈕，在附加偵錯工具時[重新啟用 1 秒暫停逾時](https://docs.xbox.com/zh-TW/tools/tools-console/visualstudio/debugging-with-visualstudio.md#vsdebug_gamelifecycle)。

按鈕本身上的滑桿會切換使用中建置組態的屬性。

![XBOX Gaming Project Control 中的暫停逾時時中斷執行](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pgc_log_break_on_suspend_button.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=6737fe2d4b63a29232882813983f3f3c)

按一下按鈕會開啟一個頁面，可讓您指定所有建置組態的值。

![為每個建置組態指定暫停逾時時中斷執行](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pgc_log_break_on_suspend_configs.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=23093fcb915ef7aea5a0f26c227e9e29)

## 進階控制項

使用 *Advanced controls* 下拉式清單存取 *Deploy from Outdir*、*LayoutDir*、*LayoutExtensionFilter* 與 *OutDir* 屬性的編輯頁面。

![進階控制項下拉式清單](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pgc_advanced_controls.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=279082a2f90349bf14b733db9eb21c18)

提供個別的編輯方塊或滑桿控制項，用於編輯每個組態的屬性值。

## 另請參閱

[Visual Studio](https://docs.xbox.com/zh-TW/tools/tools-console/visualstudio/visualstudio.md)

[XBOX 開發的 Visual Studio 屬性](https://docs.xbox.com/zh-TW/tools/tools-console/visualstudio/durango-property-pages.md)


## Related topics

- [Visual Studio](https://docs.xbox.com/zh-TW/tools/tools-console/visualstudio/index.md)
- [用於主機開發的 Visual Studio](https://docs.xbox.com/zh-TW/tools/tools-console/visualstudio/visualstudio.md)
- [MicrosoftGame.config 概觀](https://docs.xbox.com/zh-TW/build/core-features/common/game-config/MicrosoftGameConfig-Overview.md)
- [PC 的 Unreal 開發：開始使用 (舊版)](https://docs.xbox.com/zh-TW/build/gdk-and-engines/unreal/unreal-legacy.md)
- [XBOX 開發的 Visual Studio 屬性](https://docs.xbox.com/zh-TW/tools/tools-console/visualstudio/durango-property-pages.md)
