Visual Studio 2017 XNA Setup

Introduction

This guide is a modified version of the guide available here:

https://gist.github.com/roy-t/2f089414078bf7218350e8c847951255

  1. Download MXA Game Studio, which is a set of installers for adding XNA to Visual Studio. This guide uses the Visual Studio 2015 installation, but we’ll be making modifications so it works in Visual Studio 2017: https://mxa.codeplex.com/releases
  2. After downloading, unzip the XNA Game Studio 4.0.5.zip file
  3. The unzipped folder contains 4 folders. Each one contains an executable. Run them in order:
    1. DirectX\DXSETUP.exe
    2. XNA Framework 4.0 Redistribution\XNA Framework 4.0 Redist.msi
    3. XNA Game Studio 4.0 Platform Tools\XNA Game Studio Platform Tools.msi
    4. XNA Game Studio 4.0 Shared\XNA Game Studio Shared.mxi
  4. Unzip XNA Game Studio 4.0.vsix. This can be unzipped directly using 7zip, or the extension can be renamed to .zip so that Windows recognizes it as a file which can be unzipped.
  5. Open extension.vsixmanifest in a text editor.
  6. Replace the  <Installation /> tag in extension.vsixmanifest with this:
  7. Place all files, including the modified extension.vsixmanifest, in a zip file and change the extension back to vsix. Now run the the vsix file. If you see an error about no vsix manifest at the root level, your zip archive may have a folder in it. Make sure all files are at the root of your zip folder. Otherwise, if you get a warning about the version of Visual Studio not supported, all worked correctly.
  8. Create a new folder: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\XNA Game Studio
  9. Copy everything from  C:\Program Files (x86)\MSBuild\Microsoft\XNA Game Studio to  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\XNA Game Studio
  10. Open the Visual Studio 2017 developer command prompt by searching for  Developer command prompt for VS 2017 as administrator and execute the following code: (this will add the new version of Microsoft.Build.Framework to the Global Assembly Cache).

 

Note that the bug is tracked here: https://github.com/Microsoft/msbuild/issues/1831