Pular para o conteúdo principal

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.

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)).
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.
Voltar ao início deste tópico.

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

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.

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

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

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.
Exemplo de definições de propriedades de biblioteca e include em logs do MSBuild:
Voltar ao início deste tópico.

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.
Exemplo de definições de propriedades de biblioteca e include em logs do MSBuild:
Voltar ao início deste tópico.

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

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

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

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

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.
Exemplo de definições de propriedades de biblioteca e include em logs do MSBuild:
Voltar ao início deste tópico.

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

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.

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.

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
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\.
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).
Como a propriedade VC Targets Path faz parte da definição da propriedade XdkEditionRootVS2019, você pode optar por não definir XdkEditionRootVS2019 nesse caso.
Um exemplo de valor de propriedade, com base no exemplo de pasta extraída anterior, para referência:
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\

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.
Voltar ao início deste tópico.

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
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\.
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).
Como a propriedade VC Targets Path faz parte da definição da propriedade XdkEditionRootVS2022, você pode optar por não definir XdkEditionRootVS2022 nesse caso.
Um exemplo de valor de propriedade, com base no exemplo de pasta extraída anterior, para referência:
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\

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.
Voltar ao início deste tópico.

Exemplos de configuração de projeto

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

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

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

Consulte também

Configurando o ambiente de compilação sem instalar o Microsoft Game Development Kit (GDK) Visão geral da compilação sem instalar o Microsoft Game Development Kit
Última modificação em 6 de outubro de 2026