> ## 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

El GDK instala en el shell de Visual Studio una ventana de herramientas denominada **XBOX Gaming Project Control**. Esta ventana de herramientas proporciona una ubicación central en la que administrar todas las opciones de proyecto específicas de XBOX. Además de centralizar la administración de las opciones de proyecto de XBOX, el **XBOX Gaming Project Control** también ayuda a garantizar que las opciones sean correctas y den como resultado una implementación y una sesión de depuración correctas. Las opciones individuales se validan a medida que se especifican. También se señalan los casos en los que el valor de una opción es diferente entre configuraciones. La identificación de estas discrepancias tiene como objetivo ayudar a encontrar de antemano los casos en los que las opciones se establecieron inadvertidamente en valores diferentes en configuraciones distintas. Por ejemplo, el **XBOX Gaming Project Control** resaltará los casos en los que el método de implementación sea diferente entre sus configuraciones *Debug*, *Release* y *Profile*.

Use el menú XBOX para acceder al **XBOX Gaming Project Control**. El menú XBOX se encuentra en el menú Extensions de Visual Studio, como se muestra en la siguiente figura.

<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="Elemento de menú del XBOX Gaming Project Control" width="737" height="338" data-path="images/gdk/tools/vs_gpc_menu_item.png" />

La página de información general identifica la configuración y la plataforma seleccionadas actualmente, y proporciona un conjunto de botones que se usan para acceder a las páginas de detalles con las que se configuran las siguientes opciones.

* Implementación
* Asignación de MicrosoftGameConfig.mgc
* Argumentos de comando
* Registro de cargas de módulos
* Interrupción por tiempo de espera de suspensión

Una lista desplegable *Advanced Controls* proporciona acceso a las páginas de edición de las propiedades *Deploy from OutDir*, *OutDir*, *LayoutDir* y *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" />

Una marca de verificación verde en un botón de opciones indica que los valores de las opciones de esa categoría se han validado y son los mismos en todas las configuraciones. Un signo de exclamación rojo indica que hay un error en el valor de una opción o que los valores de una opción no son los mismos en todas las configuraciones. En la siguiente figura, las opciones de *Command Arguments* son válidas y coherentes, pero las opciones de *Deployment* no lo son.

<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="Opciones incoherentes en el XBOX Gaming Project Control" width="621" height="119" data-path="images/gdk/tools/vs_gpc_inconsistent_settings.png" />

Tenga en cuenta que una opción cuyo valor varía según la configuración no siempre significa que la opción esté configurada incorrectamente. Por ejemplo, es bastante común tener diferentes argumentos de línea de comandos para diferentes configuraciones. En cambio, usar diferentes métodos de implementación por configuración es poco común y, por lo tanto, puede ser una indicación de que las opciones de implementación se descoordinaron inadvertidamente. La presencia de un signo de exclamación rojo es una indicación de que quizá quiera revisar sus opciones, más que una indicación absoluta de que las opciones son incorrectas.

Los cambios realizados en las propiedades mediante el **XBOX Gaming Project Control** se escriben inmediatamente en el archivo del proyecto. No se necesita ninguna acción adicional en forma de botón *Ok* o *Apply*. Todas las ediciones están totalmente integradas con la pila de deshacer/rehacer de Visual Studio. Acceda a la pila de deshacer/rehacer mediante la barra de herramientas de Visual Studio o las secuencias de teclas estándar Ctrl-Z y Ctrl-Y. La siguiente figura muestra una pila de deshacer que contiene varias propiedades editadas con el **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="Una pila de deshacer con ediciones de propiedades del XBOX Gaming Project Control" width="874" height="513" data-path="images/gdk/tools/vs_gpc_undo.png" />

Las propiedades que se pueden editar mediante el **XBOX Gaming Project Control** también se pueden editar mediante la [página de propiedades del proyecto de C++](/tools/tools-console/visualstudio/durango-property-pages) de Visual Studio. Los valores de todas las propiedades se mantienen sincronizados entre las dos ventanas a medida que se realizan las ediciones.

## Opciones de implementación

Use la página *Deployment* para especificar el método de implementación y las opciones específicas del método para la configuración y la plataforma activas. Elija un método de implementación seleccionando uno de los botones *Push*, *RfPC* o *External*. El método de implementación seleccionado actualmente se indica mediante un resaltado verde alrededor del botón del método de implementación correspondiente.

Las opciones específicas de un método de implementación se muestran según el método seleccionado. En la siguiente figura, está seleccionado el método de implementación *RfPC*. Hay cuadros de edición disponibles para cambiar la cadena de inicio y para especificar credenciales opcionales.

<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="Opciones de implementación de ejecución desde el PC" width="903" height="462" data-path="images/gdk/tools/vs_gpc_runfrompc.png" />

Si el método de implementación no es el mismo en todas las configuraciones, el motivo de las diferencias se muestra en un control situado a la derecha de los botones de método de implementación. En la siguiente figura, la página de implementación está editando actualmente las opciones de implementación de la configuración *Profile*, cuyo método de implementación está establecido en *RfPC*. Sin embargo, el método de implementación de la configuración *Release* está establecido en *Push*, como se indica en el control de diferencias de implementación.

<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="Diferentes métodos de implementación por configuración" width="923" height="472" data-path="images/gdk/tools/vs_gpc_deploy_diff.png" />

El botón *Align* se puede usar para sincronizar las opciones de implementación entre configuraciones, si lo desea. Al hacer clic en el botón *Align* en este caso, se cambiará el método de implementación de la configuración *Release* de *Push* al método usado en la configuración y la plataforma actuales, *RfPC* en este caso.

<a id="multiple_game_configs" />

## Opciones de MicrosoftGameConfig.mgc

El sistema de proyectos de Visual Studio y los archivos de msbuild incluyen compatibilidad para especificar diferentes archivos [MicrosoftGameConfig.mgc](/build/core-features/common/game-config/MicrosoftGameConfig-toc) para cada configuración de compilación. Los archivos MicrosoftGameConfig.mgc se renombran a MicrosoftGame.config cuando se copian en el directorio de salida al compilar un proyecto.

Al hacer clic en el botón *MicrosoftGame.config assigment*, se abre una página que le permite especificar el archivo MicrosoftGameConfig.mgc que se usará para cada configuración de compilación. También se puede especificar un archivo MicrosftGameConfig.mgc predeterminado. Este archivo predeterminado se usará para todas las configuraciones a menos que se invalide explícitamente.

Use la lista desplegable *Project Default* para especificar un archivo MicrosoftGameConfig.mgc predeterminado, como se muestra en la siguiente figura. Tenga en cuenta que, cuando un proyecto se crea por primera vez con una de las plantillas del Microsoft Game Development Kit (GDK), se establece implícitamente un MicrosoftGameConfig.mgc predeterminado.

<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="Especificación de un archivo MicrosoftGame.config predeterminado" width="1178" height="513" data-path="images/gdk/tools/vs_pgc_mgc_default.png" />

Las configuraciones cuyo valor de lista desplegable sea *Unselected* usarán el archivo MicrosoftGameConfig.mgc predeterminado. Seleccione un archivo de la lista desplegable para invalidar el archivo predeterminado para una configuración determinada, como se muestra en la siguiente figura.

<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="Invalidación del archivo MicrosoftGame.config predeterminado" width="1172" height="478" data-path="images/gdk/tools/vs_pgc_mgc_override.png" />

## Argumentos de comando

Use la página *Command Arguments* para editar los argumentos de cada configuración de compilación. Se proporcionan cuadros de edición separados para cada configuración.

<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="Argumentos de comando en el XBOX Gaming Project Control" width="588" height="439" data-path="images/gdk/tools/vs_pgc_command_args.png" />

## Registro de cargas de módulos

Use el botón *Logging of Module Loads* para habilitar la salida de depuración detallada, que incluye información de carga de módulos. El control deslizante del propio botón alterna la propiedad para la configuración de compilación activa.

<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="Registro de cargas de módulos en el XBOX Gaming Project Control" width="710" height="430" data-path="images/gdk/tools/vs_pgc_log_module_load_button.png" />

Haga clic en el botón para abrir una página que le permite especificar valores para todas las configuraciones de compilación.

<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="Especificación del registro de cargas de módulos para cada configuración de compilación" width="614" height="310" data-path="images/gdk/tools/vs_pgc_log_module_load_configs.png" />

## Interrupción por tiempo de espera de suspensión

Use el botón *Break execution on suspend timeout* para [volver a habilitar el tiempo de espera de suspensión de 1 segundo](/tools/tools-console/visualstudio/debugging-with-visualstudio#vsdebug_gamelifecycle) cuando hay un depurador asociado.

El control deslizante del propio botón alterna la propiedad para la configuración de compilación activa.

<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="Interrupción de la ejecución por tiempo de espera de suspensión en el XBOX Gaming Project Control" width="710" height="430" data-path="images/gdk/tools/vs_pgc_log_break_on_suspend_button.png" />

Haga clic en el botón para abrir una página que le permite especificar valores para todas las configuraciones de compilación.

<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="Especificación de la interrupción de la ejecución por tiempo de espera de suspensión para cada configuración de compilación" width="612" height="282" data-path="images/gdk/tools/vs_pgc_log_break_on_suspend_configs.png" />

## Controles avanzados

Use la lista desplegable *Advanced controls* para acceder a las páginas de edición de las propiedades *Deploy from Outdir*, *LayoutDir*, *LayoutExtensionFilter* y *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="Lista desplegable de controles avanzados" width="608" height="414" data-path="images/gdk/tools/vs_pgc_advanced_controls.png" />

Se proporcionan cuadros de edición individuales o controles deslizantes para editar los valores de las propiedades de cada configuración.

## Consulte también

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

[Propiedades de Visual Studio para el desarrollo de XBOX](/tools/tools-console/visualstudio/durango-property-pages)


## Related topics

- [Visual Studio para el desarrollo en consola](/es/tools/tools-console/visualstudio/visualstudio.md)
- [Visualstudio](/es/tools/tools-console/visualstudio/index.md)
- [Información general de MicrosoftGame.config](/es/build/core-features/common/game-config/MicrosoftGameConfig-Overview.md)
- [Integración del GDK con un proyecto de Unreal Engine anterior a la versión 4.26](/es/build/gdk-and-engines/unreal/unreal-legacy.md)
- [Inicio de un nuevo título para PC con las plantillas de proyecto del GDK](/es/build/gdk-and-engines/guides/gdk-project-templates.md)
