我在Visual Studio 2017中创建了一个全新的Web项目,但我不能在此Web项目中使用任何C#7功能。 Visual Studio中未报告任何错误,但构建失败,并且输出窗口验证了这一点,该窗口显示CSC任务失败。
这是一个重现问题的项目。
https://drive.google.com/open?id=0B-mqMIMqm_XHQkxONjRLYzA3SUk
这是一个开箱即用的VS web项目,但HomeController.cs中添加了以下代码:
var i = 1_000_000;
这使用_这是一个C#7功能。删除此行,构建成功。
使用C#7功能可以很好地编译非Web项目,并且我已经找到了用于Web项目的不同编译器的差异。非Web项目使用以下编译器:
C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ Roslyn \ csc.exe
Web项目使用此编译器:
[解决方案根目录] \ packages \ Microsoft.Net.Compilers.1.3.2 \ build .. \ tools \ csc.exe
我该如何解决这个问题?
答案 0 :(得分:8)
我在我的机器上尝试过,但我遇到了同样的问题。
解决方案是安装最新的Microsoft.Net.Compilers包。
例如通过Tools-> NuGet包管理器 - >包管理器控制台
然后输入:
Install-Package Microsoft.Net.Compilers