I'm trialing the new features of C# 6.0 within Visual Studio 2015 CTP and my project is failing to build in TFS 2013 and Visual Studio Online.

I understand that Visual Studio uses the new Roslyn compiler, which replaces the native .NET one, and the TFS build agent therefore is unable to compile.

My question is how do I install Roslyn on the build agent (and within Visual Studio Online) and tell the build agent to use this compiler over native?


Solution 1:

For the compilation step, you have a couple of options:

  1. You can reference the Microsoft.Net.Compilers NuGet package on a per-project basis to use that version of the compilers.
  2. You can install the Microsoft Build Tools package that is part of the VS 2015 CTP package without installing all of VS.

However, as @MrHinsh notes, these approaches may leave you missing other parts of your toolchain.

Solution 2:

If you create an Azure VM with Server 2012 r2 and install Visual Studio 2015 CTP and TFS 2013 Build you can connect it to VSO.

You should then be able to complete your build and it will automatically use the new compiler.

While you can just install the compilers there is more to building than just compiling. You will likely very quickly need other features of Visual Studio, like Unit Testing, to execute as part of your build. Your build agent should reflect your developer standard workstation. If your Devs need it then the agent likley needs it.

Note: Visual Studio is licensed to individuals and not by machine. There is no license needed to run it on a build agent. Indeed as long as you have a single licence registered to your or of a particular level, say Ultimate, then you can install that on every build server.