我想使用新的C#6语言功能。 https://github.com/dotnet/roslyn/wiki/New-Language-Features-in-C%23-6
public class Foo {
public string ToolTip { get; set; } = "This is my toolip";
}
为此,我已将所有解决方案升级为VS2015解决方案。
我正在开发一个针对.NET4的MVC4项目。
这编译得很好但是无法在我们的构建服务器上构建,这使我完全怀疑所有部分是如何组合在一起推出的。
在我看来,新的语言功能需要使用新的编译器(Roslyn?预先安装VS2015?)。
编译器会将我的代码转换为IL,并由运行时执行。因此,只要编译器支持我所定位的.NET运行时版本,我的前端Web服务器就不需要升级,以便我们利用C#6功能。
让我暂停的一点是JIT编译的代码,例如cshtml文件。
我可以在哪里阅读有关这些依赖关系的更多信息?
答案 0 :(得分:2)
答案 1 :(得分:0)
构建服务器失败的原因是,它可能使用了错误的ms构建版本。
罗斯林没什么特别的。它只是一组用于处理代码的库(解析,编译等)。在vs2015和相应的msbuild中,旧的C#编译器被更新的 - roslyn替换。如果你想了解更多,那么有很好的复数课程https://www.pluralsight.com/courses/dotnet-compiler-platform-introduction
在构建服务器时,它取决于您使用的构建服务器。通常,您必须安装vs2015并指示它使用新的msbuild。您可以针对不同的运行时编译C#6。
对于tfs2013,请指定版本并更改构建模板TFS 2013 building .NET 4.6 / C# 6.0