> ## 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 de projets sans installer le Microsoft Game Development Kit

Cette rubrique traite de la configuration de projets pour les générer avec MSBuild tout en référençant des 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 fonctionner avec un GDK déployé à plat |
| [Personnalisation de projets Gaming.Xbox.XboxOne.x64 et Gaming.Xbox.Scarlett.x64](#bwoi-xboxprojects) | Étapes pour configurer votre projet XBOX afin qu'il fonctionne 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 fonctionner 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 fonctionner 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 projets Gaming.Desktop.x64](#bwoi-desktopprojects) | Étapes pour configurer votre projet de bureau PC afin qu'il fonctionne avec un GDK déployé à plat |
| [Remplacements de propriétés Gaming.Desktop.x64 pour le GDK](#bwoi-desktopgdkoverrides) | Remplacements de propriétés de bureau PC pour fonctionner 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 de bureau PC pour fonctionner 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 de bureau PC |
| [Bibliothèques d'extension Gaming.Desktop.x64](#bwoi-desktopextensions) | Fichiers de propriétés de bureau PC 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 pour utiliser correctement les outils côté PC |
| [Remplacements propres à chaque version de Visual Studio](#bwoi-vsoverrides) | Remplacements de propriétés requis pour 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 de la 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 génération.

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. Voici des exemples de chemins à partir d'un dossier *GDK* extrait.

* *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 plutôt que la nouvelle intégration simplifiée.
</Note>

[Retour au début de cette rubrique.](#)

<a id="bwoi-overridingproperties" />

## Remplacement des propriétés MSBuild

Il existe plusieurs façons de remplacer les 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 de 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. Vous pouvez donc utiliser le même fichier de 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 où trouver plus de détails sur les chemins de bibliothèques et d'inclusions.

[Retour au début de cette rubrique.](#)

<a id="bwoi-xboxprojects" />

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

Une personnalisation du projet est requise 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 de projet.

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

* `BWOI_GDK_Path:` Propriété utilisateur facultative, mais nous vous recommandons de la définir afin de l'utiliser dans les valeurs de propriétés ultérieures pour 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 est 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 lorsque vous utilisez 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 lorsque vous utilisez 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 lorsque vous utilisez 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 lorsque vous utilisez un projet avec Visual Studio 2022.
* `PlatformToolset` : Remplace la version précise des outils de génération à utiliser. 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 propres à Gaming.Xbox.XboxOne.x64 et à Gaming.Xbox.Scarlett.x64, consultez la section suivante sur les remplacements de plateforme Visual Studio.

[Retour au début 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 doivent être définies uniquement lorsque vous utilisez un SDK Windows 10 extrait. Si vous utilisez un SDK Windows 10 installé, vous pouvez ignorer cette section.

* `BWOI_Win10SDK_Path` : Propriété utilisateur facultative, mais nous vous recommandons de la définir afin de l'utiliser dans les valeurs de propriétés ultérieures pour 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 au moyen d'une clé de registre dans *Microsoft.Cpp.WindowsSDK.props*, qui est importé lors de la compilation.
* `UCRTContentRoot` : Remplace l'emplacement de la racine de 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 au moyen d'une clé de registre dans *Microsoft.Cpp.WindowsSDK.props*, qui est importé lors de 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 au moyen d'une clé de registre dans *Microsoft.Cpp.WindowsSDK.props*, qui est importé lors de la compilation.
* `WindowsSDK_ExecutablePath_x86` : Remplace l'emplacement des outils x86 inclus dans le SDK Windows 10. Des outils comme `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 comme `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 au début 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écoulent des chemins remplacés mentionnés précédemment. Cette section est fournie à titre de référence seulement.

Ces références sont définies dans *Platform.Edition.props* dans le dossier *Platform* de 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 de 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 au début 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écoulent des chemins remplacés mentionnés précédemment. Cette section est fournie à titre de référence seulement.

Ces références sont définies dans *Platform.Edition.props* dans le dossier *Platform* de 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 de 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 au début 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 de Xbox.Services.API.C a ajouté Appnotify.lib, crypt32.lib et winhttp.lib comme dépendances supplémentaires.

Les propriétés des bibliothèques d'extension sont définies dans *Platform.Edition.props* dans le 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 au début de cette rubrique.](#)

<a id="bwoi-desktopprojects" />

## Personnalisation de projets Gaming.Desktop.x64

Une personnalisation du projet est requise 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 que vous importiez *Microsoft.Cpp.Default.props*, comme défini dans votre fichier de projet.

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

* `BWOI_GDK_Path` : Propriété utilisateur facultative, mais nous vous recommandons de la définir afin de l'utiliser dans les valeurs de propriétés ultérieures pour 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 est 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 lorsque vous utilisez 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 lorsque vous utilisez 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 lorsque vous utilisez 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 lorsque vous utilisez un projet avec Visual Studio 2022.
* `PlatformToolset` : Remplace la version précise des outils de génération à utiliser. 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 propres à Gaming.Desktop.x64, consultez la section suivante sur les remplacements de plateforme Visual Studio.

[Retour au début 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 doivent être définies uniquement lorsque vous utilisez un SDK Windows 10 extrait. Si vous utilisez un SDK Windows 10 installé, vous pouvez ignorer cette section.

* `BWOI_Win10SDK_Path` : Propriété utilisateur facultative, mais nous vous recommandons de la définir afin de l'utiliser dans les valeurs de propriétés ultérieures pour 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 au moyen d'une clé de registre dans *Microsoft.Cpp.WindowsSDK.props*, qui est importé lors de la compilation.
* `UCRTContentRoot` : Remplace l'emplacement de la racine de 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 au moyen d'une clé de registre dans *Microsoft.Cpp.WindowsSDK.props*, qui est importé lors de la compilation.
* `UniversalCRTSdkDir_10` : Remplace l'emplacement du SDK Universal CRT (Visual C++ C Runtime pour Windows 10). Elle est vérifiée au moyen d'une clé de registre dans *Microsoft.Cpp.WindowsSDK.props*, qui est importé lors de la compilation.
* `WindowsSDK_ExecutablePath_x86` : Remplace l'emplacement des outils x86 inclus dans le SDK Windows 10. Des outils comme `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 comme `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 au début 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écoulent des chemins remplacés mentionnés précédemment. Cette section est fournie à titre de référence seulement.

Ces références sont définies dans *Platform.Edition.props* dans le dossier *Platform* de 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 de 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 au début 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 de Xbox.Services.API.C a ajouté Appnotify.lib comme 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* dans le 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 au début 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) sous forme de 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 propres à chaque version de Visual Studio

Cette section décrit les propriétés de Visual Studio propres à 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 façon à 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 consiste à copier les fichiers directement dans votre dossier *ExtractedGDK*. Si vous préférez garder séparés le GDK extrait et les fichiers VC Targets de Visual Studio à des fins 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, pour qu'ils soient référencés par votre système de génération.

  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 du lancement 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 servant à déterminer l'emplacement des fichiers de propriétés et de cibles des outils de génération de Visual Studio 2019 (v160).

<Note>
  Comme la propriété de chemin VC Targets 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 garder séparés *ExtractedGDK* et VC Targets à des fins 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é de Visual Studio 2019 (16.5) pour 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 suit.

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

[Retour au début 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 façon à 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 consiste à copier les fichiers directement dans votre dossier *ExtractedGDK*. Si vous préférez garder séparés le GDK extrait et les fichiers VC Targets de Visual Studio à des fins 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, pour qu'ils soient référencés par votre système de génération.

  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 du lancement 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 servant à déterminer l'emplacement des fichiers de propriétés et de cibles des outils de génération de Visual Studio 2019 (v160).
* `VCTargetsPath17` : Remplace le chemin Visual Studio servant à déterminer l'emplacement des fichiers de propriétés et de cibles des outils de génération de Visual Studio 2022 (v170).

<Note>
  Comme la propriété de chemin VC Targets 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 garder séparés *ExtractedGDK* et VC Targets à des fins 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é de Visual Studio 2022 pour respecter les remplacements du SDK Windows 10

De plus, 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 suit.

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

[Retour au début 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 à partir de la page [Téléchargements pour développeurs XBOX](https://aka.ms/gdkdl). Sous « Select file type », choisissez « GDK », et sous « Select build/version number », choisissez le plus récent élément « Samples only ».

[Retour au début 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 à partir de la page [Téléchargements pour développeurs XBOX](https://aka.ms/gdkdl). Sous « Select file type », choisissez « GDK », et sous « Select build/version number », choisissez le plus récent élément « Samples only ».

[Retour au début de cette rubrique.](#)

<a id="bwoi-seealso" />

## Voir aussi

[Configuration de l'environnement de génération sans installer le Microsoft Game Development Kit (GDK)](/fr-CA/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-CA/build/console-features/build-without-install/withoutinstall-overview)


## Related topics

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