Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual Studio 2017 web项目:can';不要使用C#7_C#_Visual Studio_C# 7.0 - Fatal编程技术网

Visual Studio 2017 web项目:can';不要使用C#7

Visual Studio 2017 web项目:can';不要使用C#7,c#,visual-studio,c#-7.0,C#,Visual Studio,C# 7.0,我在Visual Studio 2017中创建了一个全新的web项目,但我不能在此web项目中使用任何C#7功能。VisualStudio中未报告任何错误,但生成失败,并通过显示CSC任务失败的输出窗口进行验证 这是一个重现该问题的项目 这是一个开箱即用的VS web项目,但HomeController.cs中添加了以下代码除外: var i = 1_000_000; 它使用的是C#7特性。删除这一行,构建就会成功 非web项目使用C#7特性可以很好地编译,我已经找到了用于web项目的不同编

我在Visual Studio 2017中创建了一个全新的web项目,但我不能在此web项目中使用任何C#7功能。VisualStudio中未报告任何错误,但生成失败,并通过显示CSC任务失败的输出窗口进行验证

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

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

var i = 1_000_000;
它使用的是C#7特性。删除这一行,构建就会成功

非web项目使用C#7特性可以很好地编译,我已经找到了用于web项目的不同编译器。非web项目使用以下编译器:

C:\ProgramFiles(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


我如何解决这个问题?

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

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

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

然后键入:


安装包Microsoft.Net.Compilers

您在项目中针对的是.Net的哪个版本?如果发布驱动器链接,您将收到大量访问请求,我认为最好将内容粘贴到此处。请尝试安装包Microsoft.Net.Compilers将Microsoft.Net.Compilers包升级到最新版本。2.2.0是最新的。它很有效!这是必要的,你可能会认为这类基本功能可能已经过测试……这是Visual Studio 2017发布时ASP.NET对C#编译器依赖性的一个疏忽。我们将更密切地跟踪这些依赖关系,以避免再次出现此类不便。