> ## 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 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 Gaming Project Control** にアクセスするには、\[XBOX] メニューを使用します。次の図に示すように、\[XBOX] メニューは Visual Studio の \[拡張機能] メニューの下にあります。

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_gpc_menu_item.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=6d8cf2a624d24bd70d2e7398a20a2d5b" alt="XBOX Gaming Project Control menu item" width="737" height="338" data-path="images/gdk/tools/vs_gpc_menu_item.png" />

概要ページには、現在選択されている構成とプラットフォームが表示され、以下の設定を構成するために使用する詳細ページへアクセスするためのボタンのセットが用意されています。

* Deployment
* MicrosoftGameConfig.mgc の割り当て
* Command Arguments
* Module Loads のログ出力
* Break on Suspend Timeout

*Advanced Controls* ドロップダウンは、*Deploy from OutDir*、*OutDir*、*LayoutDir*、*LayoutExtensionFilter* プロパティの編集ページへのアクセスを提供します。

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_gpc_overview.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=92d215f9d4545e5a986ae80459bcbaa5" alt="XBOX Gaming Project Control" width="1100" height="434" data-path="images/gdk/tools/vs_gpc_overview.png" />

設定ボタンの緑色のチェック マークは、そのカテゴリの設定の値が検証済みで、すべての構成にわたって同じであることを示します。赤色の感嘆符は、設定の値にエラーがあるか、設定の値がすべての構成にわたって同じでないことを示します。次の図では、*Command Arguments* の設定は有効で一貫していますが、*Deployment* の設定はそうではありません。

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_gpc_inconsistent_settings.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=8c6a583208231e0c62baf23a7a6ed593" alt="Inconsistent settings in the XBOX Gaming Project Control" width="621" height="119" data-path="images/gdk/tools/vs_gpc_inconsistent_settings.png" />

構成によって値が異なる設定が必ずしも設定が不正であることを意味しないことに注意してください。たとえば、構成ごとに異なるコマンド ライン引数を持つことは一般的です。対照的に、構成ごとに異なるデプロイ方法を使用することは一般的ではないため、デプロイ設定が意図せず不一致となっている可能性があります。赤色の感嘆符は、設定が正しくないという絶対的な指示ではなく、設定を確認したい場合があるという指示です。

**XBOX Gaming Project Control** を使用してプロパティに加えた変更は、直ちにプロジェクト ファイルに書き込まれます。*OK* や *\[適用]* ボタンといった追加のアクションは不要です。すべての編集は Visual Studio の元に戻す/やり直しスタックと完全に統合されています。Visual Studio ツールバーまたは標準の Ctrl-Z および Ctrl-Y キー シーケンスを使用して、元に戻す/やり直しスタックにアクセスします。次の図は、**XBOX Gaming Project Control** で編集されたいくつかのプロパティを含む元に戻すスタックを示しています。

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_gpc_undo.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=8d2a60e07ac7817f2c11602bb3978bc9" alt="An undo stack with XBOX Gaming Project Control property edits" width="874" height="513" data-path="images/gdk/tools/vs_gpc_undo.png" />

**XBOX Gaming Project Control** を使用して編集できるプロパティは、Visual Studio の [C++ プロジェクトのプロパティ ページ](/tools/tools-console/visualstudio/durango-property-pages) を使用して編集することもできます。編集が行われると、すべてのプロパティの値は 2 つのウィンドウ間で同期して保持されます。

## Deployment 設定

*Deployment* ページを使用して、アクティブな構成およびプラットフォームのデプロイ方法と方法固有の設定を指定します。*Push*、*RfPC*、または *External* のボタンのいずれかを選択してデプロイ方法を選択します。現在選択されているデプロイ方法は、対応するデプロイ方法ボタンの周囲の緑色のハイライトで示されます。

デプロイ方法固有の設定は、選択された方法に基づいて表示されます。次の図では、*RfPC* デプロイ方法が選択されています。起動文字列を変更したり、省略可能な資格情報を入力したりするための編集ボックスが用意されています。

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_gpc_runfrompc.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=3d9518f78a087ab51390f4c64abf3a09" alt="Run from PC deployment options" width="903" height="462" data-path="images/gdk/tools/vs_gpc_runfrompc.png" />

デプロイ方法がすべての構成で同じでない場合、その違いの理由がデプロイ方法ボタンの右側にあるコントロールに表示されます。次の図では、デプロイ ページは現在、*Profile* 構成のデプロイ設定を編集しており、そのデプロイ方法は *RfPC* に設定されています。しかし、デプロイの違いコントロールに示されているように、*Release* 構成のデプロイ方法は *Push* に設定されています。

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_gpc_deploy_diff.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=b274eebce09d4896c0cf1a1aaff4ae91" alt="Different deploy methods per configuration" width="923" height="472" data-path="images/gdk/tools/vs_gpc_deploy_diff.png" />

必要に応じて、*Align* ボタンを使用して構成間でデプロイ設定を同期できます。この場合、*Align* ボタンをクリックすると、*Release* 構成のデプロイ方法が *Push* から現在の構成およびプラットフォームで使用されている方法 (この場合は *RfPC*) に変更されます。

<a id="multiple_game_configs" />

## MicrosoftGameConfig.mgc 設定

Visual Studio プロジェクト システムおよび msbuild ファイルには、各ビルド構成に対して異なる [MicrosoftGameConfig.mgc](/build/core-features/common/game-config/MicrosoftGameConfig-toc) ファイルを指定するためのサポートが含まれています。MicrosoftGameConfig.mgc ファイルは、プロジェクトのビルド時に出力ディレクトリにコピーされる際、MicrosoftGame.config に名前が変更されます。

*\[MicrosoftGame.config の割り当て]* ボタンをクリックすると、各ビルド構成に使用する MicrosoftGameConfig.mgc ファイルを指定できるページが開きます。既定の MicrosoftGameConfig.mgc ファイルも指定できます。この既定のファイルは、明示的にオーバーライドされない限り、すべての構成に使用されます。

次の図に示すように、*\[プロジェクトの既定]* ドロップダウンを使用して既定の MicrosoftGameConfig.mgc ファイルを指定します。プロジェクトが Microsoft Game Development Kit (GDK) テンプレートを使用して最初に作成された場合、既定の MicrosoftGameConfig.mgc が暗黙的に設定されることに注意してください。

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pgc_mgc_default.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=676bd71f9777b42e5842b6f1fefc1713" alt="Specifying a default MicrosoftGame.config file" width="1178" height="513" data-path="images/gdk/tools/vs_pgc_mgc_default.png" />

ドロップダウンの値が *\[未選択]* の構成は、既定の MicrosoftGameConfig.mgc ファイルを使用します。次の図に示すように、ドロップダウンからファイルを選択して、特定の構成の既定ファイルをオーバーライドします。

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pgc_mgc_override.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=28bf2653de7268850689e2df6a8a738b" alt="Overriding the default MicrosoftGame.config file" width="1172" height="478" data-path="images/gdk/tools/vs_pgc_mgc_override.png" />

## Command Arguments

*Command Arguments* ページを使用して、各ビルド構成の引数を編集します。各構成に対して別々の編集ボックスが用意されています。

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pgc_command_args.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=47009d739b861cd27b8950b171a450dd" alt="Command Arguments in XBOX Gaming Project Control" width="588" height="439" data-path="images/gdk/tools/vs_pgc_command_args.png" />

## Module Loads のログ出力

*\[Logging of Module Loads]* ボタンを使用して、モジュール読み込み情報を含む詳細なデバッグ出力を有効にします。ボタン自体のスライダーは、アクティブなビルド構成のプロパティを切り替えます。

<img src="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" alt="Logging of Module Loads in the XBOX Gaming Project Control" width="710" height="430" data-path="images/gdk/tools/vs_pgc_log_module_load_button.png" />

ボタンをクリックすると、すべてのビルド構成に対する値を指定できるページが開きます。

<img src="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" alt="Specifying Logging of Module Loads for each build configuration" width="614" height="310" data-path="images/gdk/tools/vs_pgc_log_module_load_configs.png" />

## Break on Suspend Timeout

*\[Break execution on suspend timeout]* ボタンを使用して、デバッガがアタッチされているときに [1 秒のサスペンド タイムアウトを再有効化](/tools/tools-console/visualstudio/debugging-with-visualstudio#vsdebug_gamelifecycle) します。

ボタン自体のスライダーは、アクティブなビルド構成のプロパティを切り替えます。

<img src="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" alt="Break execution on suspend timeout in the XBOX Gaming Project Control" width="710" height="430" data-path="images/gdk/tools/vs_pgc_log_break_on_suspend_button.png" />

ボタンをクリックすると、すべてのビルド構成に対する値を指定できるページが開きます。

<img src="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" alt="Specifying Break execution on suspend timeout for each build configuration" width="612" height="282" data-path="images/gdk/tools/vs_pgc_log_break_on_suspend_configs.png" />

## Advanced Controls

*Advanced controls* ドロップダウンを使用して、*Deploy from Outdir*、*LayoutDir*、*LayoutExtensionFilter*、および *OutDir* プロパティの編集ページにアクセスします。

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pgc_advanced_controls.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=279082a2f90349bf14b733db9eb21c18" alt="Advanced controls dropdown" width="608" height="414" data-path="images/gdk/tools/vs_pgc_advanced_controls.png" />

各構成のプロパティ値を編集するために、個別の編集ボックスまたはスライダー コントロールが用意されています。

## 関連項目

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

[XBOX 開発向けの Visual Studio プロパティ](/tools/tools-console/visualstudio/durango-property-pages)


## Related topics

- [Visual Studio](/ja-jp/tools/tools-console/visualstudio/index.md)
- [コンソール開発向け Visual Studio](/ja-jp/tools/tools-console/visualstudio/visualstudio.md)
- [XBOX Gaming Explorer](/ja-jp/tools/tools-console/visualstudio/xbox-gaming-explorer.md)
- [4.26 以前の Unreal Engine プロジェクトに GDK を統合する](/ja-jp/build/gdk-and-engines/unreal/unreal-legacy.md)
- [GDK プロジェクト テンプレートで新しい PC タイトルを開始する](/ja-jp/build/gdk-and-engines/guides/gdk-project-templates.md)
