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
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.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 propriedadePlatform.
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 deXdkEdition, 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 dePlatformcompatí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 dePlatformcompatí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 dePlatformcompatí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 dePlatformcompatí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.
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 comorc.exeficam 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 comorc.exeficam 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.
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.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.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
- 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 deXdkEdition, 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 dePlatformcompatíveis com o Visual Studio 2019. Ela é definida em Platform.default.props.DefaultXdkEditionRootVS2019só deve ser definida ao usar um projeto com o Visual Studio 2019.XdkEditionRootVS2019: Substitui o local dos arquivos de propriedades e de destino dePlatformcompatíveis com o Visual Studio 2019. Ela é definida em Platform.default.props.XdkEditionRootVS2019só 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 dePlatformcompatíveis com o Visual Studio 2022. Ela é definida em Platform.default.props.DefaultXdkEditionRootVS2022só deve ser definida ao usar um projeto com o Visual Studio 2022.XdkEditionRootVS2022: Substitui o local dos arquivos de propriedades e de destino dePlatformcompatíveis com o Visual Studio 2022. Ela é definida em Platform.default.props.XdkEditionRootVS2022só 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.
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 comorc.exeficam 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 comorc.exeficam 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.
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.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
- 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\.
Platform e o local dos arquivos de destino.
- Defina
DisableInstalledVCTargetsUsecomotrue 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.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
VCTargetsPath16como $(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.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
- 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\.
Platform e o local dos arquivos de destino.
- Defina
DisableInstalledVCTargetsUsecomotrue 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.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
VCTargetsPath16como $(CombinedGDK)\v160\ - Defina
VCTargetsPath17como $(CombinedGDK)\v170\
