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

# Configurer des projets GDK sans installer le GDK

> Décrit le processus de configuration de projets sans installer le Microsoft Game Development Kit.

# Configuration des projets sans installer le Microsoft Game Development Kit

Cette rubrique explique comment configurer des projets pour qu'ils soient générés avec MSBuild tout en référençant les fichiers extraits du Microsoft Game Development Kit (GDK). Pour télécharger des exemples de projets qui utilisent MSBuild et CMake, consultez la section [Exemples de configuration de projet](#bwoi-samples).

| Section | Contenu |
| - | - |
| [Fichiers de propriétés et de cibles de plateforme](#bwoi-platformsandtargets) | Types et emplacement des fichiers de propriétés et de cibles qui font partie du GDK |
| [Remplacement des propriétés MSBuild](#bwoi-overridingproperties) | Comment remplacer des propriétés pour travailler avec un GDK déployé à plat |
| [Personnalisation de projet Gaming.Xbox.XboxOne.x64 et Gaming.Xbox.Scarlett.x64](#bwoi-xboxprojects) | Étapes de configuration de votre projet XBOX pour travailler avec un GDK déployé à plat |
| [Remplacements de propriétés Gaming.Xbox.XboxOne.x64 et Gaming.Xbox.Scarlett.x64 pour le GDK](#bwoi-xboxgdkoverrides) | Remplacements de propriétés XBOX pour travailler avec un GDK déployé à plat |
| [Remplacements de propriétés Gaming.Xbox.XboxOne.x64 et Gaming.Xbox.Scarlett.x64 pour le SDK Windows 10](#bwoi-xboxsdkoverrides) | Remplacements de propriétés XBOX pour travailler avec un SDK Windows 10 déployé à plat |
| [Références de bibliothèques et d'inclusions Gaming.Xbox.XboxOne.x64](#bwoi-xboxonereferences) | Chemins de référence des bibliothèques et des inclusions pour les projets XBOX One |
| [Références de bibliothèques et d'inclusions Gaming.Xbox.Scarlett.x64](#bwoi-scarlettreferences) | Chemins de référence des bibliothèques et des inclusions pour les projets XBOX Series X\|S |
| [Bibliothèques d'extension Gaming.Xbox.XboxOne.x64 et Gaming.Xbox.Scarlett.x64](#bwoi-xboxextensions) | Fichiers de propriétés XBOX pour les bibliothèques d'extension (par exemple, Xbox.Game.Chat) |
| [Personnalisation de projet Gaming.Desktop.x64](#bwoi-desktopprojects) | Étapes de configuration de votre projet PC de bureau pour travailler avec un GDK déployé à plat |
| [Remplacements de propriétés Gaming.Desktop.x64 pour le GDK](#bwoi-desktopgdkoverrides) | Remplacements de propriétés PC de bureau pour travailler avec un GDK déployé à plat |
| [Remplacements de propriétés Gaming.Desktop.x64 pour le SDK Windows 10](#bwoi-desktopsdkoverrides) | Remplacements de propriétés PC de bureau pour travailler avec un SDK Windows 10 déployé à plat |
| [Références de bibliothèques et d'inclusions Gaming.Desktop.x64](#bwoi-desktopreferences) | Chemins de référence des bibliothèques et des inclusions pour les projets PC de bureau |
| [Bibliothèques d'extension Gaming.Desktop.x64](#bwoi-desktopextensions) | Fichiers de propriétés PC de bureau pour les bibliothèques d'extension (par exemple, Xbox.Game.Chat) |
| [Configuration des propriétés pour les outils côté PC](#bwoi-pctools) | Remplacements de propriétés permettant d'utiliser correctement les outils côté PC |
| [Remplacements spécifiques à la version de Visual Studio](#bwoi-vsoverrides) | Remplacements de propriétés requis selon les versions de Visual Studio |
| [Remplacements de plateforme pour Visual Studio 2019](#bwoi-vs2019overrides) | Remplacements de propriétés de l'emplacement du dossier *Platform* dans Visual Studio 2019 |
| [Remplacements de plateforme pour Visual Studio 2022](#bwoi-vs2022overrides) | Remplacements de propriétés de l'emplacement du dossier *Platform* dans Visual Studio 2022 |
| [Exemples de configuration de projet](#bwoi-samples) | Exemples pour être rapidement opérationnel avec un GDK déployé à plat |
| [Exemple CMake](#bwoi-cmakesample) | Exemple CMake pour intégrer un projet à un GDK déployé à plat |
| [Exemple MSBuild](#bwoi-msbuildsample) | Exemple MSBuild pour intégrer un projet à un GDK déployé à plat |

<a id="bwoi-platformsandtargets" />

## Fichiers de propriétés et de cibles de plateforme

Les fichiers extraits du GDK comprennent un ensemble de fichiers de propriétés et de cibles utilisés lors de la génération pour les plateformes Gaming.Xbox.XboxOne.x64, Gaming.Xbox.Scarlett.x64 ou Gaming.Desktop.x64. Ces plateformes sont importées à partir de la recherche *Microsoft.Cpp.Default.props* lors d'une génération avec notre plateforme définie. L'examen de ces fichiers vous aidera à mieux comprendre le fonctionnement des composants MSBuild de la plateforme et la meilleure façon de les intégrer à votre système de build.

Seize instances de ces fichiers existent, selon la version de Visual Studio, la version de l'ensemble d'outils de plateforme et la plateforme cible. Les exemples de chemins issus d'un dossier *GDK* extrait sont les suivants.

* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\Gaming.Xbox.XboxOne.x64*
* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\Gaming.Xbox.Scarlett.x64*
* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\Gaming.Xbox.XboxOne.x64*
* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\Gaming.Xbox.Scarlett.x64*
* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms\Gaming.Xbox.XboxOne.x64*
* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms\Gaming.Xbox.Scarlett.x64*
* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\gaming.desktop.x64*
* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\gaming.desktop.x64*
* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms\gaming.desktop.x64*

La différence entre les dossiers v160 et v170 pour Visual Studio 2019 et Visual Studio 2022 réside dans l'utilisation de la version v142 (v160) ou v143 (v170) de l'ensemble d'outils de plateforme (définie dans la propriété \$(PlatformToolset)).

<Note>
  Pour la nouvelle disposition du GDK, ces fichiers se trouvent dans `C:\ExtractedGDK\251000\Microsoft GDK\251000\xbox\build` avec des chemins raccourcis. Les chemins INCLUDE/LIB indiqués ci-dessous supposent également que vous utilisez les anciennes dispositions au lieu de la nouvelle intégration simplifiée.
</Note>

[Retour en haut de cette rubrique.](#)

<a id="bwoi-overridingproperties" />

## Remplacement des propriétés MSBuild

Il existe plusieurs façons de remplacer des propriétés MSBuild dans vos projets. Une méthode pratique consiste à créer un fichier [Directory.Build.props](https://learn.microsoft.com/visualstudio/msbuild/customize-your-build#directorybuildprops-and-directorybuildtargets) dans le même répertoire que le fichier projet. Les propriétés définies dans ce fichier sont automatiquement appliquées lors de la génération du projet. Si le fichier n'est pas présent, les remplacements ne sont pas appliqués. Cela signifie que vous pouvez utiliser le même fichier projet, que le Microsoft Game Development Kit (GDK) soit installé ou non. Si le Microsoft Game Development Kit (GDK) est installé, supprimez ou renommez le fichier Directory.Build.props pour utiliser le processus de génération normal.

L'[exemple MSBuild](#bwoi-msbuildsample) illustre l'utilisation d'un fichier Directory.Build.props.

Les sections suivantes décrivent les propriétés que nous vous recommandons de remplacer pour pointer vers votre Microsoft Game Development Kit (GDK) extrait, et indiquent où trouver plus de détails sur les chemins de bibliothèques et d'inclusions.

[Retour en haut de cette rubrique.](#)

<a id="bwoi-xboxprojects" />

## Personnalisation de projet Gaming.Xbox.XboxOne.x64 et Gaming.Xbox.Scarlett.x64

Une personnalisation du projet est nécessaire pour générer un projet Gaming.Xbox.XboxOne.x64 et Gaming.Xbox.Scarlett.x64 avec MSBuild à partir d'un GDK extrait. Pour les propriétés à remplacer, la différence la plus importante entre Gaming.Xbox.XboxOne.x64 et Gaming.Xbox.Scarlett.x64 est la définition de la propriété `Platform`.

<a id="bwoi-xboxgdkoverrides" />

### Remplacements de propriétés Gaming.Xbox.XboxOne.x64 et Gaming.Xbox.Scarlett.x64 pour le GDK

Les propriétés suivantes doivent être définies pour permettre la génération réussie d'un projet configuré pour les plateformes Gaming.Xbox.XboxOne.x64 et Gaming.Xbox.Scarlett.x64. Elles doivent être importées avant l'importation de *Microsoft.Cpp.Default.props* définie dans votre fichier projet.

#### Descriptions des propriétés remplacées

* `BWOI_GDK_Path:` propriété utilisateur qui n'est pas obligatoire, mais que nous vous recommandons de définir afin de l'utiliser dans les valeurs de propriétés ultérieures et de réduire les chemins codés en dur.
* `Platform` : spécifie la plateforme qui sera utilisée pour compiler le projet. Les options de la famille de consoles XBOX dans le GDK sont Gaming.Xbox.XboxOne.x64 et Gaming.Xbox.Scarlett.x64. La propriété est définie dans le cadre du nouveau modèle de projet.
* `XdkEditionTarget` : remplace la version du GDK utilisée pour la compilation. Elle est définie dans *Platform.default.props* et dérivée de `XdkEdition`, une propriété interne définie dans *xdk.props*.
* `DurangoXdkInstallPath` : remplace l'emplacement du dossier *Microsoft Game Development Kit (GDK)* du GDK extrait. Elle est définie dans *Platform.Edition.default.props*.
* `DefaultXdkEditionRootVS2019` : remplace l'emplacement par défaut des fichiers de propriétés et de cibles `Platform` compatibles avec Visual Studio 2019. Elle est définie dans *Platform.default.props*. Cette propriété ne doit être définie que lors de l'utilisation d'un projet avec Visual Studio 2019.
* `XdkEditionRootVS2019` : remplace l'emplacement des fichiers de propriétés et de cibles `Platform` compatibles avec Visual Studio 2019. Elle est définie dans *Platform.props*. Cette propriété ne doit être définie que lors de l'utilisation d'un projet avec Visual Studio 2019.
* `DefaultXdkEditionRootVS2022` : remplace l'emplacement par défaut des fichiers de propriétés et de cibles `Platform` compatibles avec Visual Studio 2022. Elle est définie dans *Platform.default.props*. Cette propriété ne doit être définie que lors de l'utilisation d'un projet avec Visual Studio 2022.
* `XdkEditionRootVS2022` : remplace l'emplacement des fichiers de propriétés et de cibles `Platform` compatibles avec Visual Studio 2022. Elle est définie dans *Platform.props*. Cette propriété ne doit être définie que lors de l'utilisation d'un projet avec Visual Studio 2022.
* `PlatformToolset` : remplace la version spécifique des outils de build à utiliser pour la génération. v142 est pris en charge dans Visual Studio 2019. v142 et v143 sont pris en charge dans Visual Studio 2022 (v143 est défini par défaut). Elle est définie dans *Microsoft.Cpp.Defaults.props*.

Exemples de valeurs de propriétés Gaming.Xbox.Scarlett.x64, basés sur l'exemple de dossier extrait précédent, à titre de référence :

```xml theme={null}
<BWOI_GDK_Path>C:\ExtractedGDK\241000\</BWOI_GDK_Path>
<Platform>Gaming.Xbox.Scarlett.x64</Platform>
<XdkEditionTarget>241000</XdkEditionTarget>
<DurangoXdkInstallPath>$(BWOI_GDK_Path)Microsoft GDK\</DurangoXdkInstallPath>
<DefaultXdkEditionRootVS2019>$(XdkEditionTarget)\GXDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\$(Platform)\</DefaultXdkEditionRootVS2019>
<XdkEditionRootVS2019>$(DurangoXdkInstallPath)$(XdkEditionTarget)\GXDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\$(Platform)\</XdkEditionRootVS2019>
<DefaultXdkEditionRootVS2022>$(XdkEditionTarget)\GXDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms\$(Platform)\</DefaultXdkEditionRootVS2022>
<XdkEditionRootVS2022>$(DurangoXdkInstallPath)$(XdkEditionTarget)\GXDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms\$(Platform)\</XdkEditionRootVS2022>
<PlatformToolset>$(PlatformToolset)</PlatformToolset>
```

Pour remplacer le dossier *Platform* afin de détecter les fichiers .props et de cibles spécifiques à Gaming.Xbox.XboxOne.x64 et à Gaming.Xbox.Scarlett.x64, consultez la section suivante sur les remplacements de plateforme Visual Studio.

[Retour en haut de cette rubrique.](#)

<a id="bwoi-xboxsdkoverrides" />

### Remplacements de propriétés Gaming.Xbox.XboxOne.x64 et Gaming.Xbox.Scarlett.x64 pour le SDK Windows 10

Les propriétés suivantes ne doivent être définies que lors de l'utilisation d'un SDK Windows 10 extrait. Si vous utilisez un SDK Windows 10 installé, vous pouvez ignorer cette section.

* `BWOI_Win10SDK_Path` : propriété utilisateur qui n'est pas obligatoire, mais que nous vous recommandons de définir afin de l'utiliser dans les valeurs de propriétés ultérieures et de réduire les chemins codés en dur.
* `WindowsSdkDir` : remplace l'emplacement du SDK Windows 10.
* `WindowsSdkDir_10:` remplace l'emplacement du SDK Windows 10 (Windows 10). Elle est vérifiée via une clé de Registre dans *Microsoft.Cpp.WindowsSDK.props*, qui est importé pendant la compilation.
* `UCRTContentRoot` : remplace l'emplacement de la racine du contenu de la bibliothèque Universal C Runtime. Elle est définie dans *uCRT.props*.
* `UniversalCRTSdkDir` : remplace l'emplacement du SDK de la bibliothèque Universal C Runtime (Visual C++ C Runtime). Cette propriété est vérifiée via une clé de Registre dans *Microsoft.Cpp.WindowsSDK.props*, qui est importé pendant la compilation.
* `UniversalCRTSdkDir_10` : remplace l'emplacement du SDK de la bibliothèque Universal C Runtime (Visual C++ C Runtime pour Windows 10). Cette propriété est vérifiée via une clé de Registre dans *Microsoft.Cpp.WindowsSDK.props*, qui est importé pendant la compilation.
* `WindowsSDK_ExecutablePath_x86` : remplace l'emplacement des outils x86 inclus dans le SDK Windows 10. Des outils tels que `rc.exe` se trouvent à cet emplacement. Cette propriété est définie dans *Microsoft.Cpp.WindowsSDK.props*.
* `WindowsSDK_ExecutablePath_x64` : remplace l'emplacement des outils x64 inclus dans le SDK Windows 10. Des outils tels que `rc.exe` se trouvent à cet emplacement. Cette propriété est définie dans *Microsoft.Cpp.WindowsSDK.props*.
* `WindowsTargetPlatformVersion` : remplace la version du SDK Windows 10 utilisée. Cette propriété est définie dans le fichier *Platform.Edition.default.props* (parcourt un chemin local si elle n'est pas définie).
* `TargetPlatformVersion` : remplace la version du SDK Windows 10 utilisée. Cette propriété est définie dans *Microsoft.Cpp.WindowsSDK.props*.

Exemples de valeurs de propriétés, basés sur l'exemple de dossier extrait précédent, à titre de référence :

```xml theme={null}
<BWOI_Win10SDK_Path>C:\ExtractedWin10SDK\</BWOI_Win10SDK_Path>
<WindowsSdkDir>$(BWOI_Win10SDK_Path)Windows Kits\10\</WindowsSdkDir>
<WindowsSdkDir_10>$(WindowsSdkDir)</WindowsSdkDir_10>
<UCRTContentRoot>$(WindowsSdkDir)</UCRTContentRoot>
<UniversalCRTSdkDir>$(WindowsSdkDir)</UniversalCRTSdkDir>
<UniversalCRTSdkDir_10>$(WindowsSdkDir)</UniversalCRTSdkDir_10>
<WindowsSDK_ExecutablePath_x86>$(WindowsSdkDir)bin\$(WindowsTargetPlatformVersion)\x86</WindowsSDK_ExecutablePath_x86>
<WindowsSDK_ExecutablePath_x64>$(WindowsSdkDir)bin\$(WindowsTargetPlatformVersion)\x64</WindowsSDK_ExecutablePath_x64>
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
<TargetPlatformVersion>$(WindowsTargetPlatformVersion)</TargetPlatformVersion>
```

> Le Microsoft GDK nécessite le SDK Windows 10 (19041) ou une version ultérieure. Vous pouvez utiliser le SDK Windows (20348, 22000 ou 22621) si vous le souhaitez, mais ce n'est pas obligatoire.

> Depuis la version d'octobre 2023, le SDK Windows 11 (22000) ou une version ultérieure est requis. Vous pouvez utiliser le SDK Windows 11, version 22H2 (22621) si vous le souhaitez, mais ce n'est pas obligatoire. Remplacez toutes les occurrences de « 10.0.19041.0 » par « 10.0.22000.0 ».

[Retour en haut de cette rubrique.](#)

<a id="bwoi-xboxonereferences" />

### Références de bibliothèques et d'inclusions Gaming.Xbox.XboxOne.x64

Les références de bibliothèques et d'inclusions n'ont *pas* besoin d'être remplacées directement, car elles dérivent des chemins remplacés mentionnés précédemment. Cette section est fournie à titre de référence uniquement.

Ces références sont définies dans *Platform.Edition.props* au sein du dossier *Platform* Gaming.Xbox.XboxOne.x64. Les propriétés sont construites comme suit.

```xml theme={null}
<Console_LibRoot>$(WindowsSDKDir)Lib\$(TargetPlatformVersion)\</Console_LibRoot>
<Console_EndpointLibRoot>$(DurangoXdkInstallPath)GXDK\gameKit\Lib\amd64;$(DurangoXdkInstallPath)GXDK\gameKit\Lib\amd64\XboxOne;$(DurangoXdkInstallPath)GRDK\gameKit\Lib\amd64</Console_EndpointLibRoot>
<Console_EndpointIncludeRoot>$(DurangoXdkInstallPath)GXDK\gameKit\Include\;$(DurangoXdkInstallPath)GXDK\gameKit\Include\XboxOne\;$(DurangoXdkInstallPath)GRDK\gameKit\Include\</Console_EndpointIncludeRoot>
<Console_WindowsIncludeRoot>$(WindowsSDKDir)Include\$(TargetPlatformVersion)\</Console_WindowsIncludeRoot>
<Console_Libs Condition="'$(Console_Libs)'==''">pixevt.lib;d3d12_x.lib;xgameplatform.lib;xgameruntime.lib;xmem.lib;xg_x.lib</Console_Libs>
<Console_UCRTRedistDebug>$(WindowsSDKDir)bin\$(TargetPlatformVersion)\x64\ucrt\</Console_UCRTRedistDebug>
<Console_SdkRoot>$(DurangoXdkInstallRoot)</Console_SdkRoot>
<Console_SdkIncludeRoot>$(Console_EndpointIncludeRoot);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);$(VC_VC_IncludePath);</Console_SdkIncludeRoot>
<Console_SdkLibPath>$(Console_EndpointLibRoot);$(WindowsSDK_LibraryPath_x64);$(UniversalCRT_LibraryPath_x64);$(VC_LibraryPath_VC_x64_OneCore)</Console_SdkLibPath>
```

Exemples de définitions des propriétés de bibliothèques et d'inclusions dans les journaux MSBuild :

```bash theme={null}
Console_EndpointIncludeRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Include\;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Include\XboxOne\;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Include\
Console_EndpointLibRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Lib\amd64;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Lib\amd64\XboxOne;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Lib\amd64
Console_ExtLibPaths = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\ExtensionLibrary.props
Console_ExtLibPathsString = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\ExtensionLibrary.props
Console_GRDKExtLibNamesString = PlayFab.Party.Cpp|PlayFab.PartyXboxLive.Cpp|Xbox.Game.Chat.2.Cpp.API|Xbox.Services.API.C
Console_GRDKExtLibRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\
Console_LibRoot = C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\
Console_Libs = pixevt.lib;d3d12_x.lib;xgameplatform.lib;xgameruntime.lib;xmem.lib;xg_x.lib
Console_SdkIncludeRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\Include;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Include\;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Include\XboxOne\;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\winrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt;;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include;;
Console_SdkLibPath = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\Lib\x64\Release\v143;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Lib\amd64;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Lib\amd64\XboxOne;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Lib\amd64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64;;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\lib\onecore\x64
Console_SdkRoot = C:\ExtractedGDK\241000\Microsoft GDK\
Console_SdkToolPath = C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\bin\XboxOne\
Console_UCRTRedistDebug = C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\ucrt\
Console_WindowsIncludeRoot = C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\
```

[Retour en haut de cette rubrique.](#)

<a id="bwoi-scarlettreferences" />

### Références de bibliothèques et d'inclusions Gaming.Xbox.Scarlett.x64

Les références de bibliothèques et d'inclusions n'ont *pas* besoin d'être remplacées directement, car elles dérivent des chemins remplacés mentionnés précédemment. Cette section est fournie à titre de référence uniquement.

Ces références sont définies dans *Platform.Edition.props* au sein du dossier *Platform* Gaming.Xbox.Scarlett.x64. Les propriétés sont construites comme suit.

```xml theme={null}
<Console_LibRoot>$(WindowsSDKDir)Lib\$(TargetPlatformVersion)\</Console_LibRoot>
<Console_EndpointLibRoot>$(DurangoXdkInstallPath)GXDK\gameKit\Lib\amd64;$(DurangoXdkInstallPath)GXDK\gameKit\Lib\amd64\Scarlett;$(DurangoXdkInstallPath)GRDK\gameKit\Lib\amd64</Console_EndpointLibRoot>
<Console_EndpointIncludeRoot>$(DurangoXdkInstallPath)GXDK\gameKit\Include\;$(DurangoXdkInstallPath)GXDK\gameKit\Include\Scarlett\;$(DurangoXdkInstallPath)GRDK\gameKit\Include\</Console_EndpointIncludeRoot>
<Console_WindowsIncludeRoot>$(WindowsSDKDir)Include\$(TargetPlatformVersion)\</Console_WindowsIncludeRoot>
<Console_Libs Condition="'$(Console_Libs)'==''">pixevt.lib;d3d12_xs.lib;xgameplatform.lib;xgameruntime.lib;xmem.lib;xg_xs.lib</Console_Libs>
<Console_UCRTRedistDebug>$(WindowsSDKDir)bin\$(TargetPlatformVersion)\x64\ucrt\</Console_UCRTRedistDebug>
<Console_SdkRoot>$(DurangoXdkInstallRoot)</Console_SdkRoot>
<Console_SdkIncludeRoot>$(Console_EndpointIncludeRoot);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);$(VC_VC_IncludePath);</Console_SdkIncludeRoot>
<Console_SdkLibPath>$(Console_EndpointLibRoot);$(WindowsSDK_LibraryPath_x64);$(UniversalCRT_LibraryPath_x64);$(VC_LibraryPath_VC_x64_OneCore)</Console_SdkLibPath>
```

Exemples de définitions des propriétés de bibliothèques et d'inclusions dans les journaux MSBuild :

```text theme={null}
Console_EndpointIncludeRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Include\;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Include\Scarlett\;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Include\
Console_EndpointLibRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Lib\amd64;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Lib\amd64\Scarlett;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Lib\amd64
Console_ExtLibPaths = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\ExtensionLibrary.props
Console_ExtLibPathsString = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\ExtensionLibrary.props
Console_GRDKExtLibNamesString = PlayFab.Party.Cpp|PlayFab.PartyXboxLive.Cpp|Xbox.Game.Chat.2.Cpp.API|Xbox.Services.API.C
Console_GRDKExtLibRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\
Console_LibRoot = C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\
Console_Libs = pixevt.lib;d3d12_xs.lib;xgameplatform.lib;xgameruntime.lib;xmem.lib;xg_xs.lib
Console_SdkIncludeRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\Include;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Include\;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Include\Scarlett\;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\winrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt;;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include;;
Console_SdkLibPath = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\Lib\x64\Release\v143;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Lib\amd64;C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\gameKit\Lib\amd64\Scarlett;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Lib\amd64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64;C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64;;C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\lib\onecore\x64
Console_SdkRoot = C:\ExtractedGDK\241000\Microsoft GDK\
Console_SdkToolPath = C:\ExtractedGDK\241000\Microsoft GDK\241000\GXDK\bin\Scarlett\
Console_UCRTRedistDebug = C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\ucrt\
Console_WindowsIncludeRoot = C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\
```

[Retour en haut de cette rubrique.](#)

<a id="bwoi-xboxextensions" />

### Bibliothèques d'extension Gaming.Xbox.XboxOne.x64 et Gaming.Xbox.Scarlett.x64

Des bibliothèques d'extension existent pour Xbox.Services.API.C, Xbox.Game.Chat.2.Cpp.API, Xbox.XCurl.API, Xbox.LibHttpClient, PlayFab.Party.Cpp et PlayFab.PartyXboxLive.Cpp. Si vous utilisez ces fonctionnalités, elles doivent être importées dans votre projet et les propriétés associées doivent être remplacées, en fonction de ce qui est défini dans les fichiers .props suivants.

**Microsoft GDK (octobre 2024) ou version ultérieure :**

* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\ExtensionLibrary.props*
* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Game.Chat.2.Cpp.API\ExtensionLibrary.props*
* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\PlayFab.Party.Cpp\ExtensionLibrary.props*
* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\PlayFab.PartyXboxLive.Cpp\ExtensionLibrary.props*
* *C:\ExtractedGDK\241000\Microsoft GDK\220600\GRDK\ExtensionLibraries\PlayFab.Services.C\ExtensionLibrary.props*

**Microsoft GDK (juin 2024) ou version antérieure :**

* *C:\ExtractedGDK\241000\Microsoft GDK\230600\GRDK\ExtensionLibraries\Xbox.Services.API.C\DesignTime\CommonConfiguration\Neutral\ExtensionLibrary.props*
* *C:\ExtractedGDK\241000\Microsoft GDK\230600\GRDK\ExtensionLibraries\Xbox.Game.Chat.2.Cpp.API\DesignTime\CommonConfiguration\neutral\ExtensionLibrary.props*
* *C:\ExtractedGDK\241000\Microsoft GDK\230600\GRDK\ExtensionLibraries\PlayFab.Party.Cpp\DesignTime\CommonConfiguration\neutral\ExtensionLibrary.props*
* *C:\ExtractedGDK\241000\Microsoft GDK\230600\GRDK\ExtensionLibraries\PlayFab.PartyXboxLive.Cpp\DesignTime\CommonConfiguration\neutral\ExtensionLibrary.props*
* *C:\ExtractedGDK\241000\Microsoft GDK\230600\GRDK\ExtensionLibraries\PlayFab.Services.C\DesignTime\CommonConfiguration\neutral\ExtensionLibrary.props*

> Remarque : le fichier .props pour Xbox.Services.API.C a ajouté Appnotify.lib, crypt32.lib et winhttp.lib en tant que dépendances supplémentaires.

Les propriétés des bibliothèques d'extension sont définies dans *Platform.Edition.props* au sein du dossier de la plateforme cible. Voici un exemple de construction de ces propriétés.

```xml theme={null}
<GDKExtLibNames Condition="'$(GDKExtLibNames)'==''">Xbox.Services.API.C</GDKExtLibNames>
<Console_GRDKExtLibRoot>$(DurangoXdkInstallPath)GRDK\ExtensionLibraries\</Console_GRDKExtLibRoot>
<Console_GRDKExtLibNamesString>$([System.String]::Join('|', $([System.IO.Directory]::GetDirectories(&quot;$(Console_GRDKExtLibRoot)&quot;))).Replace('$(Console_GRDKExtLibRoot)',''))</Console_GRDKExtLibNamesString>
<Console_ExtLibPathsString>$([System.Text.RegularExpressions.Regex]::Replace($(GDKExtLibNames), '($(Console_GRDKExtLibNamesString))','$(Console_GRDKExtLibRoot)%24%26\ExtensionLibrary.props'))</Console_ExtLibPathsString>
<Console_ExtLibPaths>$([MSBuild]::Unescape($(Console_ExtLibPathsString)))</Console_ExtLibPaths>
```

`GDKExtLibNames` permet de définir jusqu'à cinq bibliothèques. Si la propriété n'est pas définie, sa valeur par défaut est Xbox.Services.API.C.

[Retour en haut de cette rubrique.](#)

<a id="bwoi-desktopprojects" />

## Personnalisation de projet Gaming.Desktop.x64

Une personnalisation du projet est nécessaire pour générer un projet Gaming.Desktop.x64 avec MSBuild à partir d'un Microsoft Game Development Kit (GDK) extrait.

<Note>
  Les différences principales entre les remplacements de propriétés Gaming.Desktop.x64, Gaming.Xbox.Scarlett.x64 et Gaming.Xbox.XboxOne.x64 sont minimes. Le point le plus important à noter est que les fichiers Gaming.Desktop.x64 se trouvent dans le chemin *GRDK*. Les fichiers Gaming.Xbox.Scarlett.x64 et Gaming.Xbox.XboxOne.x64 se trouvent dans le chemin *GXDK* (à l'exception des bibliothèques d'extension).
</Note>

<a id="bwoi-desktopgdkoverrides" />

### Remplacements de propriétés Gaming.Desktop.x64 pour le GDK

Les propriétés suivantes doivent être définies pour permettre la génération réussie d'un projet configuré pour la plateforme Gaming.Desktop.x64. Ces propriétés doivent être importées avant l'importation de *Microsoft.Cpp.Default.props* telle que définie dans votre fichier projet.

#### Descriptions des propriétés remplacées

* `BWOI_GDK_Path` : propriété utilisateur qui n'est pas obligatoire, mais que nous vous recommandons de définir afin de l'utiliser dans les valeurs de propriétés ultérieures et de réduire les chemins codés en dur.
* `Platform` : spécifie la plateforme qui sera utilisée pour compiler le projet. La plateforme dans le Microsoft Game Development Kit (GDK) est Gaming.Desktop.x64.
* `XdkEditionTarget` : remplace la version du GDK utilisée pour la compilation. Cette propriété est définie dans *Platform.default.props* et dérivée de `XdkEdition`, une propriété interne définie dans *xdk.props*.
* `DurangoXdkInstallPath` : remplace l'emplacement du dossier *Microsoft Game Development Kit (GDK)* du GDK extrait. Elle est définie dans *Platform.Edition.default.props*.
* `DefaultXdkEditionRootVS2019` : remplace l'emplacement par défaut des fichiers de propriétés et de cibles `Platform` compatibles avec Visual Studio 2019. Elle est définie dans *Platform.default.props*. `DefaultXdkEditionRootVS2019` ne doit être définie que lors de l'utilisation d'un projet avec Visual Studio 2019.
* `XdkEditionRootVS2019` : remplace l'emplacement des fichiers de propriétés et de cibles `Platform` compatibles avec Visual Studio 2019. Elle est définie dans *Platform.default.props*. `XdkEditionRootVS2019` ne doit être définie que lors de l'utilisation d'un projet avec Visual Studio 2019.
* `DefaultXdkEditionRootVS2022` : remplace l'emplacement par défaut des fichiers de propriétés et de cibles `Platform` compatibles avec Visual Studio 2022. Elle est définie dans *Platform.default.props*. `DefaultXdkEditionRootVS2022` ne doit être définie que lors de l'utilisation d'un projet avec Visual Studio 2022.
* `XdkEditionRootVS2022` : remplace l'emplacement des fichiers de propriétés et de cibles `Platform` compatibles avec Visual Studio 2022. Elle est définie dans *Platform.default.props*. `XdkEditionRootVS2022` ne doit être définie que lors de l'utilisation d'un projet avec Visual Studio 2022.
* `PlatformToolset` : remplace la version spécifique des outils de build à utiliser pour la génération. v142 est pris en charge dans Visual Studio 2019. v142 et v143 sont pris en charge dans Visual Studio 2022 (v143 est défini par défaut). Elle est définie dans *Microsoft.Cpp.Defaults.props*.

Exemples de valeurs de propriétés Gaming.Desktop.x64, basés sur l'exemple de dossier extrait précédent, à titre de référence :

```xml theme={null}
<BWOI_GDK_Path>C:\ExtractedGDK\241000\</BWOI_GDK_Path>
<Platform>Gaming.Desktop.x64</Platform>
<XdkEditionTarget>241000</XdkEditionTarget>
<DurangoXdkInstallPath>$(BWOI_GDK_Path)Microsoft GDK\</DurangoXdkInstallPath>
<DefaultXdkEditionRootVS2019>$(XdkEditionTarget)\GRDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\$(Platform)\</DefaultXdkEditionRootVS2019>
<XdkEditionRootVS2019>$(DurangoXdkInstallPath)$(XdkEditionTarget)\GRDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms\$(Platform)\</XdkEditionRootVS2019>
<DefaultXdkEditionRootVS2022>$(XdkEditionTarget)\GRDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms\$(Platform)\</DefaultXdkEditionRootVS2022>
<XdkEditionRootVS2022>$(DurangoXdkInstallPath)$(XdkEditionTarget)\GRDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms\$(Platform)\</XdkEditionRootVS2022>
<PlatformToolset>$(PlatformToolset)</PlatformToolset>
```

Pour remplacer le dossier *Platform* afin de détecter les fichiers .props et de cibles spécifiques à Gaming.Desktop.x64, consultez la section suivante sur les remplacements de plateforme Visual Studio.

[Retour en haut de cette rubrique.](#)

<a id="bwoi-desktopsdkoverrides" />

### Remplacements de propriétés Gaming.Desktop.x64 pour le SDK Windows 10

Les propriétés suivantes ne doivent être définies que lors de l'utilisation d'un SDK Windows 10 extrait. Si vous utilisez un SDK Windows 10 installé, vous pouvez ignorer cette section.

* `BWOI_Win10SDK_Path` : propriété utilisateur qui n'est pas obligatoire, mais que nous vous recommandons de définir afin de l'utiliser dans les valeurs de propriétés ultérieures et de réduire les chemins codés en dur.
* `WindowsSdkDir` : remplace l'emplacement du SDK Windows 10.
* `WindowsSdkDir_10` : remplace l'emplacement du SDK Windows 10 (Windows 10). Cette propriété est vérifiée via une clé de Registre dans *Microsoft.Cpp.WindowsSDK.props*, qui est importé pendant la compilation.
* `UCRTContentRoot` : remplace l'emplacement de la racine du contenu Universal CRT. Cette propriété est définie dans *uCRT.props*.
* `UniversalCRTSdkDir` : remplace l'emplacement du SDK Universal CRT (Visual C++ C Runtime). Elle est vérifiée via une clé de Registre dans *Microsoft.Cpp.WindowsSDK.props*, qui est importé pendant la compilation.
* `UniversalCRTSdkDir_10` : remplace l'emplacement du SDK Universal CRT (Visual C++ C Runtime pour Windows 10). Elle est vérifiée via une clé de Registre dans *Microsoft.Cpp.WindowsSDK.props*, qui est importé pendant la compilation.
* `WindowsSDK_ExecutablePath_x86` : remplace l'emplacement des outils x86 inclus dans le SDK Windows 10. Des outils tels que `rc.exe` se trouvent à cet emplacement. Elle est définie dans *Microsoft.Cpp.WindowsSDK.props*.
* `WindowsSDK_ExecutablePath_x64` : remplace l'emplacement des outils x64 inclus dans le SDK Windows 10. Des outils tels que `rc.exe` se trouvent à cet emplacement. Elle est définie dans *Microsoft.Cpp.WindowsSDK.props*.
* `WindowsTargetPlatformVersion` : remplace la version du SDK Windows 10 utilisée. Elle est définie dans le dossier *Platform.Edition.default.props* (parcourt un chemin local si elle n'est pas définie).
* `TargetPlatformVersion` : remplace la version du SDK Windows 10 utilisée. Elle est définie dans *Microsoft.Cpp.WindowsSDK.props*.

Exemples de valeurs de propriétés, basés sur l'exemple de dossier extrait précédent, à titre de référence :

```xml theme={null}
<BWOI_Win10SDK_Path>C:\ExtractedWin10SDK\</BWOI_Win10SDK_Path>
<WindowsSdkDir>$(BWOI_Win10SDK_Path)Windows Kits\10\</WindowsSdkDir>
<WindowsSdkDir_10>$(WindowsSdkDir)</WindowsSdkDir_10>
<UCRTContentRoot>$(WindowsSdkDir)</UCRTContentRoot>
<UniversalCRTSdkDir>$(WindowsSdkDir)</UniversalCRTSdkDir>
<UniversalCRTSdkDir_10>$(WindowsSdkDir)</UniversalCRTSdkDir_10>
<WindowsSDK_ExecutablePath_x86>$(WindowsSdkDir)bin\$(WindowsTargetPlatformVersion)\x86</WindowsSDK_ExecutablePath_x86>
<WindowsSDK_ExecutablePath_x64>$(WindowsSdkDir)bin\$(WindowsTargetPlatformVersion)\x64</WindowsSDK_ExecutablePath_x64>
<WindowsTargetPlatformVersion>10.0.19041.0</WindowsTargetPlatformVersion>
<TargetPlatformVersion>$(WindowsTargetPlatformVersion)</TargetPlatformVersion>
```

> Le Microsoft GDK nécessite le SDK Windows 10 (19041) ou une version ultérieure. Vous pouvez utiliser le SDK Windows 10 (20348) si vous le souhaitez, mais ce n'est pas obligatoire.

[Retour en haut de cette rubrique.](#)

<a id="bwoi-desktopreferences" />

### Références de bibliothèques et d'inclusions Gaming.Desktop.x64

Les références de bibliothèques et d'inclusions n'ont *pas* besoin d'être remplacées directement, car elles dérivent des chemins remplacés mentionnés précédemment. Cette section est fournie à titre de référence uniquement.

Ces références sont définies dans *Platform.Edition.props* au sein du dossier *Platform* Gaming.Desktop.x64. Les propriétés sont construites comme suit.

```xml theme={null}
<Console_LibRoot>$(WindowsSDKDir)Lib\$(TargetPlatformVersion)\</Console_LibRoot>
<Console_EndpointLibRoot>$(DurangoXdkInstallPath)GRDK\gameKit\Lib\amd64</Console_EndpointLibRoot>
<Console_EndpointIncludeRoot>$(DurangoXdkInstallPath)GRDK\gameKit\Include\</Console_EndpointIncludeRoot>
<Console_WindowsIncludeRoot>$(WindowsSDKDir)Include\$(TargetPlatformVersion)\</Console_WindowsIncludeRoot>
<Console_Libs>dxguid.lib;D3D12.lib;dxgi.lib;runtimeobject.lib;xGameRuntime.lib;</Console_Libs>
<Console_UCRTRedistDebug>$(WindowsSDKDir)bin\$(TargetPlatformVersion)\x64\ucrt\</Console_UCRTRedistDebug>
<Console_SdkRoot>$(DurangoXdkInstallRoot)</Console_SdkRoot>
<Console_SdkIncludeRoot>$(Console_EndpointIncludeRoot);$(WindowsSDK_IncludePath);$(UniversalCRT_IncludePath);$(VC_VC_IncludePath);</Console_SdkIncludeRoot>
<Console_SdkLibPath>$(Console_EndpointLibRoot);$(Console_LibRoot)um\x64;$(Console_LibRoot)ucrt\x64</Console_SdkLibPath>
```

Exemples de définitions des propriétés de bibliothèques et d'inclusions dans les journaux MSBuild :

```bash theme={null}
Console_EndpointIncludeRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Include\
Console_EndpointLibRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Lib\amd64
Console_ExtLibPaths = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\ExtensionLibrary.props
Console_ExtLibPathsString = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\ExtensionLibrary.props
Console_GRDKExtLibNamesString = PlayFab.Party.Cpp|PlayFab.PartyXboxLive.Cpp|Xbox.Game.Chat.2.Cpp.API|Xbox.Services.API.C
Console_GRDKExtLibRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\
Console_LibRoot = C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\
Console_Libs = dxguid.lib;D3D12.lib;dxgi.lib;runtimeobject.lib;xGameRuntime.lib;
Console_SdkIncludeRoot = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\Include;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Include\;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\winrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt;;C:\Program Files (x86)\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.30.30705\include;;
Console_SdkLibPath = C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\Lib\x64\Release\v143;C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\gameKit\Lib\amd64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64
Console_SdkRoot = C:\ExtractedGDK\241000\Microsoft GDK\
Console_WindowsIncludeRoot = C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\
```

[Retour en haut de cette rubrique.](#)

<a id="bwoi-desktopextensions" />

### Bibliothèques d'extension Gaming.Desktop.x64

Des bibliothèques d'extension existent pour Xbox.Services.API.C, Xbox.Game.Chat.2.Cpp.API, Xbox.XCurl.API, PlayFab.Party.Cpp et PlayFab.PartyXboxLive.Cpp. Si vous utilisez ces fonctionnalités, elles doivent être importées dans votre projet et les propriétés appropriées doivent être remplacées, en fonction de ce qui est défini dans les fichiers .props suivants.

* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Services.API.C\ExtensionLibrary.props*
* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\Xbox.Game.Chat.2.Cpp.API\ExtensionLibrary.props*
* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\PlayFab.Party.Cpp\ExtensionLibrary.props*
* *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\ExtensionLibraries\PlayFab.PartyXboxLive.Cpp\ExtensionLibrary.props*

> Remarque : le fichier .props pour Xbox.Services.API.C a ajouté Appnotify.lib en tant que dépendance supplémentaire, et vous devrez importer cette bibliothèque dans votre projet.

Les propriétés des bibliothèques d'extension sont définies dans *Platform.Edition.props* au sein du dossier de la plateforme cible. Voici un exemple de construction de ces propriétés.

```xml theme={null}
<GDKExtLibNames Condition="'$(GDKExtLibNames)'==''">Xbox.Services.API.C</GDKExtLibNames>
<Console_GRDKExtLibRoot>$(DurangoXdkInstallPath)GRDK\ExtensionLibraries\</Console_GRDKExtLibRoot>
<Console_GRDKExtLibNamesString>$([System.String]::Join('|', $([System.IO.Directory]::GetDirectories(&quot;$(Console_GRDKExtLibRoot)&quot;))).Replace('$(Console_GRDKExtLibRoot)',''))</Console_GRDKExtLibNamesString>
<Console_ExtLibPathsString>$([System.Text.RegularExpressions.Regex]::Replace($(GDKExtLibNames), '($(Console_GRDKExtLibNamesString))','$(Console_GRDKExtLibRoot)%24%26\ExtensionLibrary.props'))</Console_ExtLibPathsString>
<Console_ExtLibPaths>$([MSBuild]::Unescape($(Console_ExtLibPathsString)))</Console_ExtLibPaths>
```

`GDKExtLibNames` permet de définir jusqu'à cinq bibliothèques. Si elle n'est pas définie, sa valeur par défaut est Xbox.Services.API.C.

[Retour en haut de cette rubrique.](#)

<a id="bwoi-pctools" />

## Remplacements de propriétés pour les outils côté PC

Lorsque vous utilisez le Microsoft Game Development Kit (GDK) en tant que déploiement à plat extrait, nous vous recommandons de définir ces propriétés si vous utilisez également des outils côté PC.

```xml theme={null}
<GameDK>$(BWOI_Win10SDK_Path)</GameDK>
<GameDKLatest>$(BWOI_Win10SDK_Path)$(XDKEditionTarget)\</GameDKLatest>
<GRDKLatest>$(GameDKLatest)GRDK\</GRDKLatest>
<GXDKLatest>$(GameDKLatest)GXDK\</GXDKLatest>
```

<a id="bwoi-vsoverrides" />

## Remplacements spécifiques à la version de Visual Studio

Cette section détaille les propriétés Visual Studio spécifiques à chaque version qui doivent être remplacées pour fonctionner correctement avec la génération sans installation.

<a id="bwoi-vs2019overrides" />

### Remplacements de plateforme pour Visual Studio 2019

À partir de Visual Studio 2019, la propriété `_PlatformFolder` est dépréciée. La prise en charge d'une configuration de projet sans installation nécessite des étapes supplémentaires dans Visual Studio 2019.

Pour ce faire, copiez les fichiers requis d'une version installée de Visual Studio 2019 vers le chemin de votre GDK extrait. Par exemple :

* Pour l'ensemble d'outils de plateforme v142 : *C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160*

Ces fichiers doivent être copiés de manière à correspondre à la structure de dossiers des chemins suivants.

* Pour l'ensemble d'outils de plateforme v142 : *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms*

<Note>
  L'exemple précédent implique de copier des fichiers directement dans votre dossier *ExtractedGDK*. Si vous préférez conserver séparément le GDK extrait et les fichiers VC Targets de Visual Studio pour des raisons de référence ou de maintenabilité, vous pouvez copier à la fois *ExtractedGDK* et VC Targets dans un nouveau chemin de dossier combiné, comme mentionné précédemment, afin qu'ils soient référencés par votre système de build.

  En voici un exemple.

  * Copiez tous les fichiers de la racine *C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160* (\*.\*) vers un chemin similaire dans le dossier *C:\ExtractedGDK\241000\_CombinedGDK\\*.
  * Copiez tous les fichiers de *C:\ExtractedGDK\241000\Microsoft GDK* vers un chemin similaire dans le dossier *C:\ExtractedGDK\241000\_CombinedGDK\\*.
  * Modifiez les *références/chemins/propriétés* pour qu'ils pointent vers les chemins équivalents de *C:\ExtractedGDK\241000\_CombinedGDK\\*.
</Note>

Une fois cette opération terminée, les propriétés suivantes doivent être remplacées lors de l'appel de la génération dans Visual Studio 2019 afin de trouver correctement les propriétés `Platform` et l'emplacement des fichiers de cibles.

* Définissez `DisableInstalledVCTargetsUse` sur `true`
* `VCTargetsPath16` : remplace le chemin Visual Studio permettant de déterminer où se trouvent les fichiers de propriétés et de cibles des Visual Studio 2019 Build Tools (v160).

<Note>
  Étant donné que la propriété VC Targets Path fait partie de la définition de la propriété `XdkEditionRootVS2019`, vous pouvez choisir de ne pas définir `XdkEditionRootVS2019` dans ce cas.
</Note>

Exemple de valeur de propriété, basé sur l'exemple de dossier extrait précédent, à titre de référence :

```xml theme={null}
<DisableInstalledVCTargetsUse>true</DisableInstalledVCTargetsUse>
<VCTargetsPath16>$(DurangoXdkInstallPath)$(XdkEditionTarget)\GXDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\</VCTargetsPath16>
```

<Note>
  Si vous souhaitez conserver séparément *ExtractedGDK* et VC Targets pour des raisons de référence ou de maintenabilité, vous pouvez spécifier les propriétés `VCTargetsPath` comme suit (où *\$(CombinedGDK)* est le nouvel emplacement que vous avez créé).

  * Définissez `VCTargetsPath16` sur *\$(CombinedGDK)\v160\\*
</Note>

### Propriété Visual Studio 2019 (16.5) permettant de respecter les remplacements du SDK Windows 10

Lorsque vous utilisez Visual Studio 2019 version 16.5 ou ultérieure, une autre propriété doit être définie pour garantir que les remplacements de propriétés du SDK Windows 10 sont correctement respectés, comme indiqué ci-dessous.

```text theme={null}
<ClearDevCommandPromptEnvVars>false</ClearDevCommandPromptEnvVars>
<VCToolsVersion />
```

[Retour en haut de cette rubrique.](#)

<a id="bwoi-vs2022overrides" />

### Remplacements de plateforme pour Visual Studio 2022

À partir de Visual Studio 2019, la propriété `_PlatformFolder` est dépréciée. La prise en charge d'une configuration de projet sans installation nécessite des étapes supplémentaires dans Visual Studio 2022.

Pour ce faire, copiez les fichiers requis d'une version installée de Visual Studio 2022 vers le chemin de votre GDK extrait. Par exemple :

* Pour l'ensemble d'outils de plateforme v142 : *C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v160*
* Pour l'ensemble d'outils de plateforme v143 : *C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170*

Ces fichiers doivent être copiés de manière à correspondre à la structure de dossiers des chemins suivants.

* Pour l'ensemble d'outils de plateforme v142 : *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms*
* Pour l'ensemble d'outils de plateforme v143 : *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms*

<Note>
  L'exemple précédent implique de copier des fichiers directement dans votre dossier *ExtractedGDK*. Si vous préférez conserver séparément le GDK extrait et les fichiers VC Targets de Visual Studio pour des raisons de référence ou de maintenabilité, vous pouvez copier à la fois *ExtractedGDK* et VC Targets dans un nouveau chemin de dossier combiné, comme mentionné précédemment, afin qu'ils soient référencés par votre système de build.

  En voici un exemple.

  * Copiez tous les fichiers de la racine *C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170* (\*.\*) vers un chemin similaire dans le dossier *C:\ExtractedGDK\241000\_CombinedGDK\\*.
  * Copiez tous les fichiers de *C:\ExtractedGDK\241000\Microsoft GDK* vers un chemin similaire dans le dossier *C:\ExtractedGDK\241000\_CombinedGDK\\*.
  * Modifiez les *références/chemins/propriétés* pour qu'ils pointent vers les chemins équivalents de *C:\ExtractedGDK\241000\_CombinedGDK\\*.
</Note>

Une fois cette opération terminée, les propriétés suivantes doivent être remplacées lors de l'appel de la génération dans Visual Studio 2022 afin de trouver correctement les propriétés `Platform` et l'emplacement des fichiers de cibles.

* Définissez `DisableInstalledVCTargetsUse` sur `true`
* `VCTargetsPath16` : remplace le chemin Visual Studio permettant de déterminer où se trouvent les fichiers de propriétés et de cibles des Visual Studio 2019 Build Tools (v160).
* `VCTargetsPath17` : remplace le chemin Visual Studio permettant de déterminer où se trouvent les fichiers de propriétés et de cibles des Visual Studio 2022 Build Tools (v170).

<Note>
  Étant donné que la propriété VC Targets Path fait partie de la définition de la propriété `XdkEditionRootVS2022`, vous pouvez choisir de ne pas définir `XdkEditionRootVS2022` dans ce cas.
</Note>

Exemple de valeur de propriété, basé sur l'exemple de dossier extrait précédent, à titre de référence :

```xml theme={null}
<DisableInstalledVCTargetsUse>true</DisableInstalledVCTargetsUse>
<VCTargetsPath16>$(DurangoXdkInstallPath)$(XdkEditionTarget)\GXDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v160\</VCTargetsPath16>
<VCTargetsPath17>$(DurangoXdkInstallPath)$(XdkEditionTarget)\GXDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\</VCTargetsPath17>
```

<Note>
  Si vous souhaitez conserver séparément *ExtractedGDK* et VC Targets pour des raisons de référence ou de maintenabilité, vous pouvez spécifier les propriétés `VCTargetsPath` comme suit (où *\$(CombinedGDK)* est le nouvel emplacement que vous avez créé).

  * Définissez `VCTargetsPath16` sur *\$(CombinedGDK)\v160\\*
  * Définissez `VCTargetsPath17` sur *\$(CombinedGDK)\v170\\*
</Note>

### Propriété Visual Studio 2022 permettant de respecter les remplacements du SDK Windows 10

En outre, une autre propriété doit être définie pour garantir que les remplacements de propriétés du SDK Windows 10 sont correctement respectés, comme indiqué ci-dessous.

```xml theme={null}
<ClearDevCommandPromptEnvVars>false</ClearDevCommandPromptEnvVars>
```

[Retour en haut de cette rubrique.](#)

<a id="bwoi-samples" />

## Exemples de configuration de projet

Cette section explique comment obtenir des exemples de code pour les scénarios sans installation.

<a id="bwoi-cmakesample" />

### Exemple CMake

L'exemple **CMakeExample**, y compris les instructions pour être rapidement opérationnel, peut être téléchargé à titre de référence depuis la page [XBOX Developer Downloads](https://aka.ms/gdkdl). Sous « Select file type », choisissez « GDK », et sous « Select build/version number », choisissez l'élément « Samples only » le plus récent.

[Retour en haut de cette rubrique.](#)

<a id="bwoi-msbuildsample" />

### Exemple MSBuild

L'exemple **BWOIExample**, y compris les instructions pour être rapidement opérationnel, peut être téléchargé à titre de référence depuis la page [XBOX Developer Downloads](https://aka.ms/gdkdl). Sous « Select file type », choisissez « GDK », et sous « Select build/version number », choisissez l'élément « Samples only » le plus récent.

[Retour en haut de cette rubrique.](#)

<a id="bwoi-seealso" />

## Voir aussi

[Configuration de l'environnement de build sans installer le Microsoft Game Development Kit (GDK)](/fr/build/console-features/build-without-install/build-environment-withoutinstall)

[Vue d'ensemble de la génération sans installer le Microsoft Game Development Kit](/fr/build/console-features/build-without-install/withoutinstall-overview)


## Related topics

- [Configurer et installer le GDK](/fr/home/setup-install/get-started.md)
- [Utiliser le GDK avec Unity](/fr/build/gdk-and-engines/unity/unity.md)
- [Installer le SDK PlayFab sans les Editor Extensions dans Unity](/fr/services/playfab/sdks/unity3d/installing-unity3d-sdk.md)
- [Modèles de projet dans Visual Studio pour le développement de jeux sur PC](/fr/tools/tools-pc/visualstudio/gr-vs-templates.md)
- [Vue d'ensemble du plug-in PlayFab Unreal GSDK](/fr/services/playfab/multiplayer/servers/server-sdks/unreal-gsdk/index.md)
