我在Visual Studio 2017中创建了一个全新的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 的特性。删除此行代码,编译将成功。
非 Web 项目可以正常编译使用 C#7 特性,我已经找到问题所在,是因为 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
我该如何解决这个问题?