如何从命令行(MSBuild)使用C#7代码构建.csproj

问题描述:

我在项目中使用了一些C#7功能:

I use some C# 7 features in my project:

static void Main(string[] args)
{
}

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

,它在Visual Studio 2017中可以正常运行,但是使用旧的msbuild(v14.0 C:\Program Files (x86)\MSBuild\14.0\Bin\msbuid.exe consoleApplication.csproj.)时,我的CI代理出现错误:

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.

您需要在CI代理上安装msbuild-2015.

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

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

msbuild的默认安装目录为: C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe

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