25
votes

I use some C# 7 features in my project:

static void Main(string[] args)
{
}

public byte ContainerVersion
{
    get => 1;
    private set => throw new NotImplementedException();
}

and it builds fine in visual studio 2017, but I get an error on my CI agent when using old msbuild (v14.0 C:\Program Files (x86)\MSBuild\14.0\Bin\msbuid.exe consoleApplication.csproj.):

error CS1513: } expected.

2

2 Answers

35
votes

You'll need to install msbuild-2015 on your CI agent.

https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15

The default install directory for msbuild will be: C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe

5
votes

Having installed Visual Studio 2017 Community Edition, the path to msbuild.exe on my machine is:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe