我想在我的项目中使用C# 6(空传播,其他特性)。
我已经在我的PC上安装了VS 2015,它工作得非常出色,并且构建了如下的测试代码
var user = new SingleUserModel(); //all model fields are null
var test = user.User?.Avatar?["blah"];
但是当我将我的项目推送到存储库,CI开始构建它时,由于不支持的?
,构建失败。
我也在CI服务器上安装了VS2015,但看起来好像它不使用它。我能做什么?
CI - CruiseControl .NET使用C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe
构建
发布于 2015-08-14 18:34:55
一定要打电话给:
C:\Program Files (x86)\MSBuild\14.0\Bin\MsBuild.exe
这是Visual Studio2015附带的MsBuild版本,并调用理解这一点的C#编译器。你可以通过安装Visual Studio2015的任何版本或通过安装独立的Microsoft Build Tools 2015在你的系统上获得此版本的MsBuild。
添加对following NuGet package的引用也会强制使用新的编译器:
Install-Package Microsoft.Net.Compilers
请注意,Install-Package
将选择最新的可用版本,这可能不是您正在寻找的版本。在安装之前,请检查发行说明和依赖项,以解决正在处理的版本的潜在问题,在本例中,该版本更特定于VS 2015。
因此,对于Visual Studio 2015:
Install-Package Microsoft.Net.Compilers -Version 1.0.0
发布于 2015-11-14 19:33:29
顺便说一句,你也可以在你的构建服务器上安装“微软构建工具2015”而不是VS2015。
https://www.microsoft.com/en-us/download/details.aspx?id=48159
它将MSBuild安装到相同的路径:
C:\Program Files (x86)\MSBuild\14.0\Bin\MsBuild.exe
https://stackoverflow.com/questions/32007871
复制相似问题