Saltar al contenido principal
En las versiones actuales de Microsoft Game Development Kit (GDK), el diseño se optimizó en torno al uso compartido de código y se centró en plataformas específicas. La integración de compilación para este diseño dependía en gran medida de ocultar la complejidad en las plataformas personalizadas de MSBuild. En el nuevo diseño, el objetivo es simplificar la integración, admitir una lista creciente de plataformas de destino y mejorar la compatibilidad tanto con las plataformas estándar de MSBuild como con sistemas de compilación que no son de Microsoft.

Diseño anterior de encabezados y bibliotecas

El diseño de archivos existente de Microsoft GDK se resume de la siguiente manera.
Las plataformas personalizadas de MSBuild Gaming.Desktop.x64 implementan la lógica para crear las rutas de inclusión y bibliotecas que combinan todo este contenido de diversas maneras. Si usaba CMake o una solución make personalizada, esta lógica también tenía que implementarse allí. Para ver un ejemplo detallado, consulte la versión de abril de 2025 de CMakeExample. El diseño anterior sigue presente en el GDK de octubre de 2025 para admitir tanto el estilo anterior como el nuevo. Ambos diseños, el nuevo y el anterior, se instalan de forma predeterminada. La instalación del GDK incluye ahora una opción para instalar solo el nuevo diseño. Un GDK futuro quitará el diseño anterior para reducir el espacio ocupado en el disco duro y el tamaño total de la descarga. La fecha objetivo actual para quitar el diseño anterior es un año después del lanzamiento del GDK de octubre de 2025.

Nuevo diseño de encabezados y bibliotecas

En la versión de octubre de 2025 del GDK, el nuevo diseño ofrece una alternativa para los encabezados y las bibliotecas que facilita la integración de plataformas y permite incorporar plataformas adicionales con el tiempo.

Uso del nuevo diseño con plataformas personalizadas de MSBuild

Las plataformas de MSBuild Gaming.*.x64 existentes usan el diseño anterior de forma predeterminada, pero puede optar por el nuevo diseño estableciendo la propiedad GDKCrossPlatform.
Esto agrega al proyecto las rutas de inclusión y bibliotecas adecuadas en lugar de las diversas rutas complejas que usaba el diseño anterior. En esta nueva integración simplificada, ya no se usa el mecanismo de bibliotecas de extensión. Todo el contenido está disponible en tiempo de compilación de forma predeterminada en las rutas de inclusión y bibliotecas. A continuación, el proyecto debe vincularse a las bibliotecas adicionales que usa. Los proyectos creados con las plantillas de proyecto de GDK anteriores deben contener instrucciones como la siguiente.
Para el nuevo diseño, la propiedad Console_Libs enumera las bibliotecas principales necesarias. El proyecto debe agregar a AdditionalDependencies las bibliotecas de extensión que consume, ya que cada una de ellas es de “participación voluntaria”. El proyecto también debe copiar en el diseño los archivos DLL adicionales que usa. Puede hacerlo mediante pasos de compilación personalizada, habituales en muchas integraciones de bibliotecas DLL, o bien editando el archivo vcxproj o agregando un archivo props para usar la lista de grupos de elementos ReferenceCopyLocalPaths. El código de MSBuild siguiente enumera todos los archivos DLL posibles, pero cada proyecto solo necesitará algunos de ellos.
GameDKLatest solo lo establece Microsoft GDK con XBOX Extensions. Por este motivo, introdujimos nuevas variables de entorno que admiten totalmente la instalación en paralelo de ambas versiones de Microsoft GDK: GameDKCoreLatest lo establece Microsoft GDK.

Uso de un archivo Directory.Build.props

Como forma de validar rápidamente proyectos Gaming.*.x64 de GDK existentes con el nuevo diseño, coloque el siguiente contenido en un archivo denominado Directory.Build.props en su árbol de código fuente. Esto habilita el nuevo diseño e incluye la mayoría o la totalidad de las bibliotecas de extensión, aunque el proyecto no las use.
Las reglas de MSBuild no usan la propiedad GDKExtLibNames al compilar con GDKCrossPlatform establecido en true. Como ya está presente para compilar con las reglas de MSBuild anteriores, se usa en este archivo props como forma de incluir algunos archivos DLL adicionales en el diseño.

Cómo actualizar un juego x64 para agregar ARM64

Para agregar compatibilidad con ARM64 a un proyecto de juego x64 existente, siga estos pasos:
  1. Use Visual Studio 2022. La compatibilidad con ARM64 requiere Visual Studio 2022. Visual Studio 2019 no es compatible con compilaciones ARM64.
  2. Habilite el nuevo diseño. Asegúrese de que el proyecto use el nuevo diseño estableciendo GDKCrossPlatform en true en el archivo de proyecto.
  3. Cree configuraciones ARM64. Copie las configuraciones x64 existentes (como Debug y Release) para crear las configuraciones ARM64 correspondientes.
  4. Actualice las rutas de bibliotecas. Edite los directorios de VC++ de las configuraciones ARM64 para que la ruta de bibliotecas haga referencia a lib\arm64 en lugar de a lib\x64.
  5. Actualice las referencias de la biblioteca XSAPI. Actualice las instrucciones de vinculación de todas las configuraciones (no solo de ARM64) para usar Microsoft.Xbox.Services.143.GDK.C.lib en lugar de Microsoft.Xbox.Services.142.GDK.C.lib.
  6. Actualice ReferenceCopyLocalPaths. Compruebe si en el archivo .vcxproj hay usos de ReferenceCopyLocalPaths que deban actualizarse para hacer referencia a la carpeta bin arm64 en lugar de a x64.
Si el inicio de su título produce el error 0xc000007b, significa que intentó cargar por accidente un archivo DLL de formato x64 en su proceso ARM64. Compruebe si en el sistema de proyectos hay elementos ReferenceCopyLocalPaths que deban actualizarse.

Uso del nuevo diseño con la plataforma x64 de MSBuild

En lugar de usar la plataforma Gaming.Desktop.x64, puede usar la plataforma estándar x64 para compilar para PC. En el diseño anterior, esto requería agregar instrucciones <Import Project="...\ExtensionLibrary.props"> para las bibliotecas de extensión, como se detalla en Uso de la plataforma x64 con Microsoft Game Development Kit (GDK). En el nuevo diseño, las instrucciones de integración se simplifican.
Agregue todas las bibliotecas de extensión necesarias a AdditionalDependencies junto con la lista original.
Los archivos DLL de bibliotecas de extensión de participación voluntaria deben copiarse en el directorio de binarios como se indicó anteriormente, mediante una acción de compilación personalizada o mediante el grupo de elementos ReferenceCopyLocalPaths para el diseño final. Las instrucciones restantes para PreprocessorDefinitions y para controlar el archivo .mgc con recursos de imagen no cambian.

Uso del nuevo diseño con CMake

Cuando use los generadores de Microsoft Visual Studio con CMake y las plataformas personalizadas de MSBuild Gaming.*.x64, habilite el nuevo diseño con el código siguiente.
En CMakeGDKExample, quite el uso de VS_GLOBAL_GDKExtLibNames y reemplácelo por el código siguiente (suponiendo CMake 3.21 o posterior) para copiar en el diseño los archivos DLL de extensión utilizados.

Uso del nuevo diseño con sistemas de compilación personalizados

Para compilar para Windows x64 con el GDK se requiere lo siguiente.

Lectura de la edición de compilación desde un archivo instalado

El nuevo diseño no contiene el archivo grdk.ini. Para encontrar la información de la edición analizando un archivo, use grdk.h. Este es un ejemplo en PowerShell que también funciona con versiones anteriores del GDK.
Última modificación el 20 de octubre de 2026