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

# Configurar projetos do GDK sem instalar o GDK

> Descreve o processo de configuração de projetos sem instalar o Microsoft Game Development Kit.

# Configurando projetos sem instalar o Microsoft Game Development Kit

Este tópico aborda a configuração de projetos para compilar com o MSBuild referenciando arquivos extraídos do Microsoft Game Development Kit (GDK). Para baixar projetos de exemplo que usam MSBuild e CMake, consulte a seção [Exemplos de configuração de projeto](#bwoi-samples).

| Seção | O que é abordado |
| - | - |
| [Arquivos de propriedades e de destino da plataforma](#bwoi-platformsandtargets) | Tipos e local dos arquivos de propriedades e de destino que fazem parte do GDK |
| [Substituindo propriedades do MSBuild](#bwoi-overridingproperties) | Como substituir propriedades para trabalhar com um GDK implantado de forma plana |
| [Personalização de projetos Gaming.Xbox.XboxOne.x64 e Gaming.Xbox.Scarlett.x64](#bwoi-xboxprojects) | Etapas para configurar seu projeto XBOX para trabalhar com um GDK implantado de forma plana |
| [Substituições de propriedades do Gaming.Xbox.XboxOne.x64 e Gaming.Xbox.Scarlett.x64 para o GDK](#bwoi-xboxgdkoverrides) | Substituições de propriedades do XBOX para trabalhar com um GDK implantado de forma plana |
| [Substituições de propriedades do Gaming.Xbox.XboxOne.x64 e Gaming.Xbox.Scarlett.x64 para o SDK do Windows 10](#bwoi-xboxsdkoverrides) | Substituições de propriedades do XBOX para trabalhar com um SDK do Windows 10 implantado de forma plana |
| [Referências de biblioteca e include do Gaming.Xbox.XboxOne.x64](#bwoi-xboxonereferences) | Caminhos de referência de biblioteca e include para projetos XBOX One |
| [Referências de biblioteca e include do Gaming.Xbox.Scarlett.x64](#bwoi-scarlettreferences) | Caminhos de referência de biblioteca e include para projetos XBOX Series X\|S |
| [Bibliotecas de extensão do Gaming.Xbox.XboxOne.x64 e Gaming.Xbox.Scarlett.x64](#bwoi-xboxextensions) | Arquivos de propriedades do XBOX para as bibliotecas de extensão (ou seja, Xbox.Game.Chat) |
| [Personalização de projetos Gaming.Desktop.x64](#bwoi-desktopprojects) | Etapas para configurar seu projeto de PC desktop para trabalhar com um GDK implantado de forma plana |
| [Substituições de propriedades do Gaming.Desktop.x64 para o GDK](#bwoi-desktopgdkoverrides) | Substituições de propriedades de PC desktop para trabalhar com um GDK implantado de forma plana |
| [Substituições de propriedades do Gaming.Desktop.x64 para o SDK do Windows 10](#bwoi-desktopsdkoverrides) | Substituições de propriedades de PC desktop para trabalhar com um SDK do Windows 10 implantado de forma plana |
| [Referências de biblioteca e include do Gaming.Desktop.x64](#bwoi-desktopreferences) | Caminhos de referência de biblioteca e include para projetos de PC desktop |
| [Bibliotecas de extensão do Gaming.Desktop.x64](#bwoi-desktopextensions) | Arquivos de propriedades de PC desktop para as bibliotecas de extensão (ou seja, Xbox.Game.Chat) |
| [Configuração de propriedades para ferramentas do lado do PC](#bwoi-pctools) | Substituições de propriedades para usar corretamente as ferramentas do lado do PC |
| [Substituições específicas da versão do Visual Studio](#bwoi-vsoverrides) | Substituições de propriedades necessárias para versões do Visual Studio |
| [Substituições de plataforma do Visual Studio 2019](#bwoi-vs2019overrides) | Substituições de propriedades do local da pasta *Platform* no Visual Studio 2019 |
| [Substituições de plataforma do Visual Studio 2022](#bwoi-vs2022overrides) | Substituições de propriedades do local da pasta *Platform* no Visual Studio 2022 |
| [Exemplos de configuração de projeto](#bwoi-samples) | Exemplos para começar a usar um GDK implantado de forma plana |
| [Exemplo de CMake](#bwoi-cmakesample) | Exemplo de CMake para integrar um projeto a um GDK implantado de forma plana |
| [Exemplo de MSBuild](#bwoi-msbuildsample) | Exemplo de MSBuild para integrar um projeto a um GDK implantado de forma plana |

<a id="bwoi-platformsandtargets" />

## Arquivos de propriedades e de destino da plataforma

Incluído nos arquivos extraídos do GDK está um conjunto de arquivos de propriedades e de destino que são usados como parte da compilação das plataformas Gaming.Xbox.XboxOne.x64, Gaming.Xbox.Scarlett.x64 ou Gaming.Desktop.x64. Essas plataformas são importadas da pesquisa de *Microsoft.Cpp.Default.props* ao compilar com nossa plataforma definida. Inspecionar esses arquivos ajudará você a entender melhor como os componentes do MSBuild da plataforma funcionam e como eles podem ser mais bem integrados ao seu sistema de compilação.

Existem dezesseis instâncias desses arquivos, com base na versão do Visual Studio, na versão do Platform Toolset e no destino da plataforma. Os caminhos de exemplo de uma pasta *GDK* extraída são os seguintes.

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

A diferença entre as pastas v160 e v170 para o Visual Studio 2019 e o Visual Studio 2022 é o uso da versão v142 (v160) ou v143 (v170) do Platform Toolset (que é definida na propriedade \$(PlatformToolset)).

<Note>
  Para o novo layout do GDK, o local desses arquivos é `C:\ExtractedGDK\251000\Microsoft GDK\251000\xbox\build`, com caminhos encurtados. Os caminhos INCLUDE/LIB listados abaixo também pressupõem que você está usando os layouts antigos em vez da nova integração simplificada.
</Note>

[Voltar ao início deste tópico.](#)

<a id="bwoi-overridingproperties" />

## Substituindo propriedades do MSBuild

Há várias maneiras de substituir propriedades do MSBuild nos seus projetos. Um método conveniente é criar um arquivo [Directory.Build.props](https://learn.microsoft.com/visualstudio/msbuild/customize-your-build#directorybuildprops-and-directorybuildtargets) no mesmo diretório do arquivo de projeto. As propriedades definidas nesse arquivo serão aplicadas automaticamente ao compilar o projeto. Se o arquivo não estiver presente, as substituições não serão aplicadas. Isso significa que você pode usar o mesmo arquivo de projeto independentemente de o Microsoft Game Development Kit (GDK) estar instalado ou não. Se o Microsoft Game Development Kit (GDK) estiver instalado, remova ou renomeie o Directory.Build.props para usar o processo de compilação normal.

O [exemplo de MSBuild](#bwoi-msbuildsample) demonstra o uso de um arquivo Directory.Build.props.

As seções a seguir descrevem as propriedades que recomendamos que você substitua para apontar para o Microsoft Game Development Kit (GDK) extraído e onde encontrar mais detalhes sobre caminhos de lib e include.

[Voltar ao início deste tópico.](#)

<a id="bwoi-xboxprojects" />

## Personalização de projetos Gaming.Xbox.XboxOne.x64 e Gaming.Xbox.Scarlett.x64

A personalização do projeto é necessária para compilar um projeto Gaming.Xbox.XboxOne.x64 e Gaming.Xbox.Scarlett.x64 com o MSBuild a partir de um GDK extraído. Para as propriedades que exigem substituição, a diferença mais importante entre Gaming.Xbox.XboxOne.x64 e Gaming.Xbox.Scarlett.x64 é a definição da propriedade `Platform`.

<a id="bwoi-xboxgdkoverrides" />

### Substituições de propriedades do Gaming.Xbox.XboxOne.x64 e Gaming.Xbox.Scarlett.x64 para o GDK

As propriedades a seguir precisam ser definidas para permitir a compilação bem-sucedida de um projeto configurado para as plataformas Gaming.Xbox.XboxOne.x64 e Gaming.Xbox.Scarlett.x64. Elas devem ser importadas antes da importação de *Microsoft.Cpp.Default.props* definida no seu arquivo de projeto.

#### Descrições das propriedades substituídas

* `BWOI_GDK_Path:` Uma propriedade de usuário que não é obrigatória, mas recomendamos que você a defina para usá-la em valores de propriedades futuros, reduzindo caminhos codificados.
* `Platform`: Especifica a plataforma que será usada para compilar o projeto. As opções da família de consoles XBOX no GDK são Gaming.Xbox.XboxOne.x64 e Gaming.Xbox.Scarlett.x64. A propriedade é definida como parte do novo modelo de projeto.
* `XdkEditionTarget`: Substitui qual versão do GDK é usada para a compilação. Ela é definida em *Platform.default.props* e é derivada de `XdkEdition`, uma propriedade interna definida em *xdk.props*.
* `DurangoXdkInstallPath`: Substitui o local da pasta *Microsoft Game Development Kit (GDK)* do GDK extraído. Ela é definida em *Platform.Edition.default.props*.
* `DefaultXdkEditionRootVS2019`: Substitui o local padrão dos arquivos de propriedades e de destino de `Platform` compatíveis com o Visual Studio 2019. Ela é definida em *Platform.default.props*. Essa propriedade só deve ser definida ao usar um projeto com o Visual Studio 2019.
* `XdkEditionRootVS2019`: Substitui o local dos arquivos de propriedades e de destino de `Platform` compatíveis com o Visual Studio 2019. Ela é definida em *Platform.props*. Essa propriedade só deve ser definida ao usar um projeto com o Visual Studio 2019.
* `DefaultXdkEditionRootVS2022`: Substitui o local padrão dos arquivos de propriedades e de destino de `Platform` compatíveis com o Visual Studio 2022. Ela é definida em *Platform.default.props*. Essa propriedade só deve ser definida ao usar um projeto com o Visual Studio 2022.
* `XdkEditionRootVS2022`: Substitui o local dos arquivos de propriedades e de destino de `Platform` compatíveis com o Visual Studio 2022. Ela é definida em *Platform.props*. Essa propriedade só deve ser definida ao usar um projeto com o Visual Studio 2022.
* `PlatformToolset`: Substitui a versão específica das ferramentas de compilação a serem usadas. Há suporte para v142 no Visual Studio 2019. Há suporte para v142 e v143 no Visual Studio 2022 (v143 é definida por padrão). Ela é definida em *Microsoft.Cpp.Defaults.props*.

Exemplo de valores de propriedades do Gaming.Xbox.Scarlett.x64, com base no exemplo de pasta extraída anterior, para referência:

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

Para substituir a pasta *Platform* para detectar arquivos .props e de destino específicos do Gaming.Xbox.XboxOne.x64 e do Gaming.Xbox.Scarlett.x64, consulte a seção a seguir sobre substituições de plataforma do Visual Studio.

[Voltar ao início deste tópico.](#)

<a id="bwoi-xboxsdkoverrides" />

### Substituições de propriedades do Gaming.Xbox.XboxOne.x64 e Gaming.Xbox.Scarlett.x64 para o SDK do Windows 10

As propriedades a seguir precisam ser definidas somente ao usar um SDK do Windows 10 extraído. Se você estiver usando um SDK do Windows 10 instalado, poderá ignorar esta seção.

* `BWOI_Win10SDK_Path`: Uma propriedade de usuário que não é obrigatória, mas recomendamos que você a defina para usá-la em valores de propriedades futuros, reduzindo caminhos codificados.
* `WindowsSdkDir`: Substitui o local do SDK do Windows 10.
* `WindowsSdkDir_10:` Substitui o local do SDK do Windows 10 (Windows 10). Isso é verificado por meio de uma chave do Registro em *Microsoft.Cpp.WindowsSDK.props*, que é importado durante a compilação.
* `UCRTContentRoot`: Substitui o local da raiz de conteúdo da Biblioteca Universal C Runtime. Ela é definida em *uCRT.props*.
* `UniversalCRTSdkDir`: Substitui o local do SDK da Biblioteca Universal C Runtime (Visual C++ C Runtime). Essa propriedade é verificada por meio de uma chave do Registro em *Microsoft.Cpp.WindowsSDK.props*, que é importado durante a compilação.
* `UniversalCRTSdkDir_10`: Substitui o local do SDK da Biblioteca Universal C Runtime (Visual C++ C Runtime para Windows 10). Essa propriedade é verificada por meio de uma chave do Registro em *Microsoft.Cpp.WindowsSDK.props*, que é importado durante a compilação.
* `WindowsSDK_ExecutablePath_x86`: Substitui o local das ferramentas x86 incluídas no SDK do Windows 10. Ferramentas como `rc.exe` ficam nesse local. Essa propriedade é definida em *Microsoft.Cpp.WindowsSDK.props*.
* `WindowsSDK_ExecutablePath_x64`: Substitui o local das ferramentas x64 incluídas no SDK do Windows 10. Ferramentas como `rc.exe` ficam nesse local. Essa propriedade é definida em *Microsoft.Cpp.WindowsSDK.props*.
* `WindowsTargetPlatformVersion`: Substitui a versão do SDK do Windows 10 que está sendo usada. Essa propriedade é definida no arquivo *Platform.Edition.default.props* (percorre um caminho local se não estiver definida).
* `TargetPlatformVersion`: Substitui a versão do SDK do Windows 10 que está sendo usada. Essa propriedade é definida em *Microsoft.Cpp.WindowsSDK.props*.

Exemplo de valores de propriedades, com base no exemplo de pasta extraída anterior, para referência:

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

> O Microsoft GDK requer o SDK do Windows 10 (19041) ou posterior. Você pode usar o SDK do Windows (20348, 22000 ou 22621) se quiser, mas não é obrigatório.

> A partir da versão de outubro de 2023, o SDK do Windows 11 (22000) ou posterior é obrigatório. Você pode usar o SDK do Windows 11, versão 22H2 (22621), se quiser, mas não é obrigatório. Substitua todas as ocorrências de "10.0.19041.0" por "10.0.22000.0".

[Voltar ao início deste tópico.](#)

<a id="bwoi-xboxonereferences" />

### Referências de biblioteca e include do Gaming.Xbox.XboxOne.x64

As referências de biblioteca e include *não* precisam ser substituídas diretamente, pois derivam dos caminhos substituídos mencionados anteriormente. Esta seção serve apenas como referência.

Essas referências são definidas em *Platform.Edition.props* dentro da pasta *Platform* do Gaming.Xbox.XboxOne.x64. As propriedades são construídas da seguinte maneira.

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

Exemplo de definições de propriedades de biblioteca e include em logs do 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\
```

[Voltar ao início deste tópico.](#)

<a id="bwoi-scarlettreferences" />

### Referências de biblioteca e include do Gaming.Xbox.Scarlett.x64

As referências de biblioteca e include *não* precisam ser substituídas diretamente, pois derivam dos caminhos substituídos mencionados anteriormente. Esta seção serve apenas como referência.

Essas referências são definidas em *Platform.Edition.props* dentro da pasta *Platform* do Gaming.Xbox.Scarlett.x64. As propriedades são construídas da seguinte maneira.

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

Exemplo de definições de propriedades de biblioteca e include em logs do 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\
```

[Voltar ao início deste tópico.](#)

<a id="bwoi-xboxextensions" />

### Bibliotecas de extensão do Gaming.Xbox.XboxOne.x64 e Gaming.Xbox.Scarlett.x64

Existem bibliotecas de extensão para Xbox.Services.API.C, Xbox.Game.Chat.2.Cpp.API, Xbox.XCurl.API, Xbox.LibHttpClient, PlayFab.Party.Cpp e PlayFab.PartyXboxLive.Cpp. Se você estiver usando esses recursos, eles devem ser importados para o seu projeto e as propriedades associadas devem ser substituídas, com base no que está definido nos arquivos .props a seguir.

**Microsoft GDK (outubro de 2024) ou posterior:**

* *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 (junho de 2024) ou anterior:**

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

> Observação: o arquivo .props do Xbox.Services.API.C adicionou Appnotify.lib, crypt32.lib e winhttp.lib como dependências adicionais.

As propriedades das bibliotecas de extensão são definidas em *Platform.Edition.props* dentro da pasta da plataforma de destino. Um exemplo de como essas propriedades são construídas é o seguinte.

```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` permite definir até cinco bibliotecas. Se a propriedade não estiver definida, o padrão será Xbox.Services.API.C.

[Voltar ao início deste tópico.](#)

<a id="bwoi-desktopprojects" />

## Personalização de projetos Gaming.Desktop.x64

A personalização do projeto é necessária para compilar um projeto Gaming.Desktop.x64 com o MSBuild a partir de um Microsoft Game Development Kit (GDK) extraído.

<Note>
  As diferenças principais entre as substituições de propriedades do Gaming.Desktop.x64, do Gaming.Xbox.Scarlett.x64 e do Gaming.Xbox.XboxOne.x64 são mínimas. O mais importante a observar é que os arquivos do Gaming.Desktop.x64 estão no caminho *GRDK*. Os arquivos do Gaming.Xbox.Scarlett.x64 e do Gaming.Xbox.XboxOne.x64 estão no caminho *GXDK* (excluindo as bibliotecas de extensão).
</Note>

<a id="bwoi-desktopgdkoverrides" />

### Substituições de propriedades do Gaming.Desktop.x64 para o GDK

As propriedades a seguir precisam ser definidas para permitir a compilação bem-sucedida de um projeto configurado para a plataforma Gaming.Desktop.x64. Essas propriedades devem ser importadas antes de você importar *Microsoft.Cpp.Default.props*, conforme definido no seu arquivo de projeto.

#### Descrições das propriedades substituídas

* `BWOI_GDK_Path`: Uma propriedade de usuário que não é obrigatória, mas recomendamos que você a defina para usá-la em valores de propriedades futuros, reduzindo caminhos codificados.
* `Platform`: Especifica a plataforma que será usada para compilar o projeto. A plataforma no Microsoft Game Development Kit (GDK) é Gaming.Desktop.x64.
* `XdkEditionTarget`: Substitui qual versão do GDK é usada para a compilação. Essa propriedade é definida em *Platform.default.props* e é derivada de `XdkEdition`, uma propriedade interna definida em *xdk.props*.
* `DurangoXdkInstallPath`: Substitui o local da pasta *Microsoft Game Development Kit (GDK)* do GDK extraído. Ela é definida em *Platform.Edition.default.props*.
* `DefaultXdkEditionRootVS2019`: Substitui o local padrão dos arquivos de propriedades e de destino de `Platform` compatíveis com o Visual Studio 2019. Ela é definida em *Platform.default.props*. `DefaultXdkEditionRootVS2019` só deve ser definida ao usar um projeto com o Visual Studio 2019.
* `XdkEditionRootVS2019`: Substitui o local dos arquivos de propriedades e de destino de `Platform` compatíveis com o Visual Studio 2019. Ela é definida em *Platform.default.props*. `XdkEditionRootVS2019` só deve ser definida ao usar um projeto com o Visual Studio 2019.
* `DefaultXdkEditionRootVS2022`: Substitui o local padrão dos arquivos de propriedades e de destino de `Platform` compatíveis com o Visual Studio 2022. Ela é definida em *Platform.default.props*. `DefaultXdkEditionRootVS2022` só deve ser definida ao usar um projeto com o Visual Studio 2022.
* `XdkEditionRootVS2022`: Substitui o local dos arquivos de propriedades e de destino de `Platform` compatíveis com o Visual Studio 2022. Ela é definida em *Platform.default.props*. `XdkEditionRootVS2022` só deve ser definida ao usar um projeto com o Visual Studio 2022.
* `PlatformToolset`: Substitui a versão específica das ferramentas de compilação a serem usadas. Há suporte para v142 no Visual Studio 2019. Há suporte para v142 e v143 no Visual Studio 2022 (v143 é definida por padrão). Ela é definida em *Microsoft.Cpp.Defaults.props*.

Exemplo de valores de propriedades do Gaming.Desktop.x64, com base no exemplo de pasta extraída anterior, para referência:

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

Para substituir a pasta *Platform* para detectar arquivos .props e de destino específicos do Gaming.Desktop.x64, consulte a seção a seguir sobre substituições de plataforma do Visual Studio.

[Voltar ao início deste tópico.](#)

<a id="bwoi-desktopsdkoverrides" />

### Substituições de propriedades do Gaming.Desktop.x64 para o SDK do Windows 10

As propriedades a seguir precisam ser definidas somente ao usar um SDK do Windows 10 extraído. Se você estiver usando um SDK do Windows 10 instalado, poderá ignorar esta seção.

* `BWOI_Win10SDK_Path`: Uma propriedade de usuário que não é obrigatória, mas recomendamos que você a defina para usá-la em valores de propriedades futuros, reduzindo caminhos codificados.
* `WindowsSdkDir`: Substitui o local do SDK do Windows 10.
* `WindowsSdkDir_10`: Substitui o local do SDK do Windows 10 (Windows 10). Essa propriedade é verificada por meio de uma chave do Registro em *Microsoft.Cpp.WindowsSDK.props*, que é importado durante a compilação.
* `UCRTContentRoot`: Substitui o local da raiz de conteúdo do Universal CRT. Essa propriedade é definida em *uCRT.props*.
* `UniversalCRTSdkDir`: Substitui o local do SDK do Universal CRT (Visual C++ C Runtime). Ela é verificada por meio de uma chave do Registro em *Microsoft.Cpp.WindowsSDK.props*, que é importado durante a compilação.
* `UniversalCRTSdkDir_10`: Substitui o local do SDK do Universal CRT (Visual C++ C Runtime para Windows 10). Ela é verificada por meio de uma chave do Registro em *Microsoft.Cpp.WindowsSDK.props*, que é importado durante a compilação.
* `WindowsSDK_ExecutablePath_x86`: Substitui o local das ferramentas x86 incluídas no SDK do Windows 10. Ferramentas como `rc.exe` ficam nesse local. Ela é definida em *Microsoft.Cpp.WindowsSDK.props*.
* `WindowsSDK_ExecutablePath_x64`: Substitui o local das ferramentas x64 incluídas no SDK do Windows 10. Ferramentas como `rc.exe` ficam nesse local. Ela é definida em *Microsoft.Cpp.WindowsSDK.props*.
* `WindowsTargetPlatformVersion`: Substitui a versão do SDK do Windows 10 que está sendo usada. Ela é definida na pasta *Platform.Edition.default.props* (percorre um caminho local se não estiver definida).
* `TargetPlatformVersion`: Substitui a versão do SDK do Windows 10 que está sendo usada. Ela é definida em *Microsoft.Cpp.WindowsSDK.props*.

Exemplo de valores de propriedades, com base no exemplo de pasta extraída anterior, para referência:

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

> O Microsoft GDK requer o SDK do Windows 10 (19041) ou posterior. Você pode usar o SDK do Windows 10 (20348) se quiser, mas não é obrigatório.

[Voltar ao início deste tópico.](#)

<a id="bwoi-desktopreferences" />

### Referências de biblioteca e include do Gaming.Desktop.x64

As referências de biblioteca e include *não* precisam ser substituídas diretamente, pois derivam dos caminhos substituídos mencionados anteriormente. Esta seção serve apenas como referência.

Essas referências são definidas em *Platform.Edition.props* dentro da pasta *Platform* do Gaming.Desktop.x64. As propriedades são construídas da seguinte maneira.

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

Exemplo de definições de propriedades de biblioteca e include em logs do 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\
```

[Voltar ao início deste tópico.](#)

<a id="bwoi-desktopextensions" />

### Bibliotecas de extensão do Gaming.Desktop.x64

Existem bibliotecas de extensão para Xbox.Services.API.C, Xbox.Game.Chat.2.Cpp.API, Xbox.XCurl.API, PlayFab.Party.Cpp e PlayFab.PartyXboxLive.Cpp. Se você estiver usando esses recursos, eles devem ser importados para o seu projeto e as propriedades adequadas devem ser substituídas, com base no que está definido nos arquivos .props a seguir.

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

> Observação: o arquivo .props do Xbox.Services.API.C adicionou Appnotify.lib como uma dependência adicional, e você precisará importar essa biblioteca para o seu projeto.

As propriedades das bibliotecas de extensão são definidas em *Platform.Edition.props* dentro da pasta da plataforma de destino. Um exemplo de como essas propriedades são construídas é o seguinte.

```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` permite definir até cinco bibliotecas. Se não estiver definida, o padrão será Xbox.Services.API.C.

[Voltar ao início deste tópico.](#)

<a id="bwoi-pctools" />

## Substituições de propriedades para ferramentas do lado do PC

Ao usar o Microsoft Game Development Kit (GDK) como uma implantação plana extraída, recomendamos que você defina estas propriedades se também estiver usando ferramentas do lado do 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" />

## Substituições específicas da versão do Visual Studio

Esta seção detalha as propriedades específicas da versão do Visual Studio que precisam ser substituídas para funcionar corretamente com a compilação sem instalação.

<a id="bwoi-vs2019overrides" />

### Substituições de plataforma do Visual Studio 2019

A partir do Visual Studio 2019, a propriedade `_PlatformFolder` foi preterida. A solução para dar suporte a uma configuração de projeto sem instalação requer etapas adicionais no Visual Studio 2019.

Para fazer isso, copie os arquivos necessários de uma versão instalada do Visual Studio 2019 para o caminho do GDK extraído. Por exemplo:

* Para o Platform Toolset v142: *C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160*

Eles devem ser copiados de modo a corresponder à estrutura de pastas dos caminhos a seguir.

* Para o Platform Toolset v142: *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\VS2019\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms*

<Note>
  O exemplo anterior envolve copiar arquivos diretamente para a pasta *ExtractedGDK*. Se você preferir manter o GDK extraído e os arquivos VC Targets do Visual Studio separados para referência/manutenção, poderá copiar tanto o *ExtractedGDK* quanto os VC Targets para um novo caminho de pasta combinado, como mencionado anteriormente, para que sejam referenciados pelo seu sistema de compilação.

  Um exemplo disso seria o seguinte.

  * Copie todos os arquivos da raiz de *C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160* (\*.\*) para um caminho semelhante dentro da pasta *C:\ExtractedGDK\241000\_CombinedGDK\\*.
  * Copie todos os arquivos de *C:\ExtractedGDK\241000\Microsoft GDK* para um caminho semelhante dentro da pasta *C:\ExtractedGDK\241000\_CombinedGDK\\*.
  * Altere *referências/caminhos/propriedades* para apontar para os caminhos equivalentes em *C:\ExtractedGDK\241000\_CombinedGDK\\*.
</Note>

Depois que isso for concluído, as propriedades a seguir precisam ser substituídas ao invocar a compilação no Visual Studio 2019 para encontrar corretamente as propriedades de `Platform` e o local dos arquivos de destino.

* Defina `DisableInstalledVCTargetsUse` como `true`
* `VCTargetsPath16`: Substitui o caminho do Visual Studio para determinar onde estão localizados os arquivos de propriedades e de destino das Ferramentas de Build do Visual Studio 2019 (v160).

<Note>
  Como a propriedade VC Targets Path faz parte da definição da propriedade `XdkEditionRootVS2019`, você pode optar por não definir `XdkEditionRootVS2019` nesse caso.
</Note>

Um exemplo de valor de propriedade, com base no exemplo de pasta extraída anterior, para referência:

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

<Note>
  No cenário em que você gostaria de manter o *ExtractedGDK* e os VC Targets separados para referência/manutenção, você pode especificar as propriedades `VCTargetsPath` da seguinte forma (em que *\$(CombinedGDK)* é o novo local que você criou).

  * Defina `VCTargetsPath16` como *\$(CombinedGDK)\v160\\*
</Note>

### Propriedade do Visual Studio 2019 (16.5) para respeitar as substituições do SDK do Windows 10

Ao usar o Visual Studio 2019 versão 16.5 ou posterior, outra propriedade precisa ser definida para garantir que as substituições de propriedades do SDK do Windows 10 sejam respeitadas corretamente, conforme mostrado a seguir.

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

[Voltar ao início deste tópico.](#)

<a id="bwoi-vs2022overrides" />

### Substituições de plataforma do Visual Studio 2022

A partir do Visual Studio 2019, a propriedade `_PlatformFolder` foi preterida. A solução para dar suporte a uma configuração de projeto sem instalação requer etapas adicionais no Visual Studio 2022.

Para fazer isso, copie os arquivos necessários de uma versão instalada do Visual Studio 2022 para o caminho do GDK extraído. Por exemplo:

* Para o Platform Toolset v142: *C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v160*
* Para o Platform Toolset v143: *C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170*

Eles devem ser copiados de modo a corresponder à estrutura de pastas dos caminhos a seguir.

* Para o Platform Toolset v142: *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v160\Platforms*
* Para o Platform Toolset v143: *C:\ExtractedGDK\241000\Microsoft GDK\241000\GRDK\VS2022\flatDeployment\MSBuild\Microsoft\VC\v170\Platforms*

<Note>
  O exemplo anterior envolve copiar arquivos diretamente para a pasta *ExtractedGDK*. Se você preferir manter o GDK extraído e os arquivos VC Targets do Visual Studio separados para referência/manutenção, poderá copiar tanto o *ExtractedGDK* quanto os VC Targets para um novo caminho de pasta combinado, como mencionado anteriormente, para que sejam referenciados pelo seu sistema de compilação.

  Um exemplo disso seria o seguinte.

  * Copie todos os arquivos da raiz de *C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170* (\*.\*) para um caminho semelhante dentro da pasta *C:\ExtractedGDK\241000\_CombinedGDK\\*.
  * Copie todos os arquivos de *C:\ExtractedGDK\241000\Microsoft GDK* para um caminho semelhante dentro da pasta *C:\ExtractedGDK\241000\_CombinedGDK\\*.
  * Altere *referências/caminhos/propriedades* para apontar para os caminhos equivalentes em *C:\ExtractedGDK\241000\_CombinedGDK\\*.
</Note>

Depois que isso for concluído, as propriedades a seguir precisam ser substituídas ao invocar a compilação no Visual Studio 2022 para encontrar corretamente as propriedades de `Platform` e o local dos arquivos de destino.

* Defina `DisableInstalledVCTargetsUse` como `true`
* `VCTargetsPath16`: Substitui o caminho do Visual Studio para determinar onde estão localizados os arquivos de propriedades e de destino das Ferramentas de Build do Visual Studio 2019 (v160).
* `VCTargetsPath17`: Substitui o caminho do Visual Studio para determinar onde estão localizados os arquivos de propriedades e de destino das Ferramentas de Build do Visual Studio 2022 (v170).

<Note>
  Como a propriedade VC Targets Path faz parte da definição da propriedade `XdkEditionRootVS2022`, você pode optar por não definir `XdkEditionRootVS2022` nesse caso.
</Note>

Um exemplo de valor de propriedade, com base no exemplo de pasta extraída anterior, para referência:

```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>
  No cenário em que você gostaria de manter o *ExtractedGDK* e os VC Targets separados para referência/manutenção, você pode especificar as propriedades `VCTargetsPath` da seguinte forma (em que *\$(CombinedGDK)* é o novo local que você criou).

  * Defina `VCTargetsPath16` como *\$(CombinedGDK)\v160\\*
  * Defina `VCTargetsPath17` como *\$(CombinedGDK)\v170\\*
</Note>

### Propriedade do Visual Studio 2022 para respeitar as substituições do SDK do Windows 10

Além disso, outra propriedade precisa ser definida para garantir que as substituições de propriedades do SDK do Windows 10 sejam respeitadas corretamente, conforme mostrado a seguir.

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

[Voltar ao início deste tópico.](#)

<a id="bwoi-samples" />

## Exemplos de configuração de projeto

Esta seção descreve como obter exemplos de código para cenários sem instalação.

<a id="bwoi-cmakesample" />

### Exemplo de CMake

O exemplo **CMakeExample**, incluindo instruções para começar a usá-lo, pode ser baixado para referência na página [XBOX Developer Downloads](https://aka.ms/gdkdl). Em "Select file type", escolha "GDK" e, em "Select build/version number", escolha o item "Samples only" mais recente.

[Voltar ao início deste tópico.](#)

<a id="bwoi-msbuildsample" />

### Exemplo de MSBuild

O exemplo **BWOIExample**, incluindo instruções para começar a usá-lo, pode ser baixado para referência na página [XBOX Developer Downloads](https://aka.ms/gdkdl). Em "Select file type", escolha "GDK" e, em "Select build/version number", escolha o item "Samples only" mais recente.

[Voltar ao início deste tópico.](#)

<a id="bwoi-seealso" />

## Consulte também

[Configurando o ambiente de compilação sem instalar o Microsoft Game Development Kit (GDK)](/pt-BR/build/console-features/build-without-install/build-environment-withoutinstall)

[Visão geral da compilação sem instalar o Microsoft Game Development Kit](/pt-BR/build/console-features/build-without-install/withoutinstall-overview)


## Related topics

- [Usar o GDK com o Unity](/pt-BR/build/gdk-and-engines/unity/unity.md)
- [Instalar e iniciar seu título para PC com as ferramentas do GDK](/pt-BR/tools/tools-pc/launching-on-pc.md)
- [Integrar o GDK a um projeto do Unreal Engine anterior à versão 4.26](/pt-BR/build/gdk-and-engines/unreal/unreal-legacy.md)
- [Usar o GDK com o GameMaker](/pt-BR/build/gdk-and-engines/gamemaker.md)
- [Usar o GDK com o Unreal Engine](/pt-BR/build/gdk-and-engines/unreal/unreal.md)
