Visual Studio 2017 年 web 项目:无法使用 C#7

Visual Studio 2017 web project: can't use C#7

我在 Visual Studio 2017 年创建了一个全新的 Web 项目,但我无法在该 Web 项目中使用任何 C#7 功能。 Visual Studio 中未报告任何错误,但构建失败,这由显示 CSC 任务失败的输出 window 验证。

这是一个重现该问题的项目。

https://drive.google.com/open?id=0B-mqMIMqm_XHQkxONjRLYzA3SUk

这是一个开箱即用的 VS web 项目,除了在 HomeController.cs 中添加了以下代码:

var i = 1_000_000;

这使用了 _,这是 C#7 的一个特性。去掉这一行,构建成功。

使用 C#7 功能可以很好地编译非 Web 项目,我已经追踪到用于 Web 项目的不同编译器的差异。非网络项目使用以下编译器:

C:\Program Files (x86)\Microsoft Visual Studio17\Enterprise\MSBuild.0\Bin\Roslyn\csc.exe

Web 项目使用此编译器:

[解决方案根路径]\packages\Microsoft.Net.Compilers.1.3.2\build..\tools\csc.exe

我该如何解决这个问题?

我在我的机器上试过了,我遇到了同样的问题。

解决方案是安装最新的 Microsoft.Net.Compilers 软件包。

例如通过工具->NuGet 包管理器-> 包管理器控制台

然后输入:

Install-Package Microsoft.Net.Compilers