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

# Visual Studio 2019 support notes

> Visual Studio 2019 support notes

This topic describes Microsoft Game Development Kit (GDK) support for Visual Studio 2019. Visual Studio 2019 [version 16.11](https://learn.microsoft.com/visualstudio/releases/2019/servicing-vs2019) is supported for Microsoft Game Development Kit (GDK) development.

<Note>Visual Studio 2019 version 16.0 - 16.10 are out of support as of October 2022.</Note>

## Installing Visual Studio 2019

When installing Visual Studio 2019, you must select the **Game Development with C++** workload during setup as shown in the following screenshot.

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_workloads_game_devlopment.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=4fb4b71036246e053fa20ee3270bb27b" alt="Screenshot of Game Development with C++ workload dialog box" width="403" height="84" data-path="images/gdk/tools/vs_workloads_game_devlopment.png" />

In addition to the core C++ tools that you need for Windows PC game development, Game Development with C++ also includes the version of the Windows 10 SDK that's needed to build Windows PC games with the Microsoft Game Development Kit (GDK).

While it's not required, installing the Desktop development with C++ workload provides additional tools and samples that you might find helpful.

Depending on your needs, you can choose to install additional optional workloads or components.

* If you're building a game that uses Unity, install the **Game Development with Unity** workload.

* Version **v142** of the MVSC build tools is installed with the Game Development with C++ workload. If needed, you can use the Visual Studio 2019 integrated development environment (IDE) with the MSVC tools that were included in Visual Studio 2017 (**v141**).  Using the newer IDE without upgrading to the new toolset enables you to take advantage of the new IDE features without having to update your source code to work with the new compiler.

> To use the Visual Studio 2017 toolset with the Visual Studio 2019 IDE, install the **MSVC v141 - VS 2017 C++ x64/x86 build tools (v14.16)** component under the **Desktop development with C++** workload as shown in the following screenshot. The Visual Studio 2017 toolset is no longer supported as of the October 2024 release.

* To debug your game on a remote PC, see [Remote Debugging a C++ project in Visual Studio](https://learn.microsoft.com/visualstudio/debugger/remote-debugging-cpp) for instructions about installing the Visual Studio Remote Tools.

## Migrating existing Visual Studio 2017 projects to Visual Studio 2019

In most cases, the upgrade wizard that's provided with Visual Studio can migrate your project to Visual Studio 2019 without any other changes. When you open a Visual Studio 2017 project in Visual Studio 2019, you see the following Review Solution Actions dialog box that prompts you to upgrade. To upgrade the project, select **OK**.

<img src="https://mintcdn.com/microsoft-4404708b/6TXzXmujKayly5Sf/images/gdk/tools/vs_convert_2017_to_2019.png?fit=max&auto=format&n=6TXzXmujKayly5Sf&q=85&s=77e8e2059ed810747afecaea859027a2" alt="Screenshot of the Review Solution Actions dialog box of the upgrade Wizard in Visual Studio 2019, showing retargeting options for a Visual Studio 2017 project" width="669" height="371" data-path="images/gdk/tools/vs_convert_2017_to_2019.png" />

You can also choose to use the Visual Studio 2019 IDE without upgrading your build tools. To do so, select **Cancel** in the **Review Solution Actions** dialog box.

### Manually upgrading projects to Visual Studio 2019

If you want to upgrade your project by directly editing your project files (.vcxproj), you need to make the following changes.

1. Add `WindowsTargetPlatformVersion` to the `Globals` property group. Set its value to 10.0. The following is an example.

```xml theme={null}
      <PropertyGroup Label="Globals">
        <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
        ...
```

1. Change all instances of `PlatformToolset` from v141 to v142. The following is an example.

```xml theme={null}
    <PlatformToolset>v141</PlatformToolset>
    ...
    <PlatformToolset>v142</PlatformToolset>  
```

1. Rebuild the project.

### clang/LLVM for Windows (ClangCl) project support

Visual Studio 2019 also supports clang/LLVM for Windows development. This requires installing **C++ Clang-cl for Windows** and **C++ Clang-cl for v142 build tools (x64/x86)** which are individual components.

See the [Microsoft Game Development Kit (GDK)](/tools/tools-pc/visualstudio/gr-vs-clang) Clang topic and the [Microsoft Docs](https://learn.microsoft.com/cpp/build/clang-support-msbuild) for more information.

## Known issues

* DirectXMath \*IsNan functions can fail with Visual Studio 2019 when built with `/fp:fast`. The fix is to use Visual Studio 2019 (16.3 or later) with DirectXMath 3.14 or later. Otherwise, you can work around the issue by placing `#pragma float_control` statements around the use of those functions.

* Use of precompiled headers have a number of problems in clang/LLVM for Windows prior to v11. Depending upon your PCH and C++ template usage, you may need to add `-fno-pch-instantiate-templates` to successfully build.

* [.NET Core updates delivered through Microsoft Update](https://devblogs.microsoft.com/dotnet/net-core-updates-coming-to-microsoft-update/) can block Microsoft Game Development Kit (GDK) installation. To resolve this issue, update your Visual Studio instance or uninstall the Microsoft.NET.Core.Component.SDK.2.1 component through the Visual Studio Installer then retry (un)installing the Microsoft Game Development Kit (GDK).

## Reporting bugs

Bug reports for the **Visual C++ compiler** should be reported (if possible) via Visual Studio *Report a Problem...*. See [Microsoft Docs](https://learn.microsoft.com/visualstudio/ide/how-to-report-a-problem-with-visual-studio) and the [Developer Community](https://aka.ms/feedback/report?space=62) website. Be sure to read [this page](https://aka.ms/compilerbug) for details on creating a good bug report for the compiler.

<Note>You can add a comment to a public report issue marked as "Microsoft only" if additional NDA information is required to reproduce the issue.</Note>

For bug reporting for the **clang/LLVM for Windows compiler**, use [https://bugs.llvm.org/](https://bugs.llvm.org/)

For bug reports for the **Microsoft Standard C++ Library** (a.k.a. STL), use [https://github.com/microsoft/STL/issues](https://github.com/microsoft/STL/issues)

## See also

[Visual Studio for PC Game Development](/tools/tools-pc/visualstudio/gr-visualstudio-toc)


## Related topics

- [Visual Studio (contents)](/tools/tools-pc/visualstudio/gr-visualstudio-toc.md)
- [Visual Studio for console development](/tools/tools-console/visualstudio/visualstudio.md)
- [Visualstudio](/tools/tools-pc/visualstudio/index.md)
- [Visual Studio 2019 GDK support notes](/tools/tools-console/visualstudio/vs-2019-support-notes.md)
- [Visual Studio 2026 GDK support notes](/tools/tools-console/visualstudio/vs-2026-support-notes.md)
