如何在Visual Studio 2015中使用C#7?

Lui*_*jon 141 c# visual-studio visual-studio-2015 c#-7.0

Visual Studio 2017(15.x)支持C#7,但Visual Studio 2015(14.x)呢?

我怎样才能使用C#7?

Ste*_*edy 159

您可以通过安装Nuget包Microsoft.Net.Compilers来替换Visual Studio附带的编译器以获得支持C#7的版本:

引用此包将导致使用包中包含的特定版本的C#和Visual Basic编译器构建项目,而不是任何系统安装版本.

没有任何迹象表明我可以在软件包页面上看到这是否在Visual Studio 2015中得到官方支持.到目前为止我的非全面测试表明它可以工作但不是无痛 - C#7代码编译,但用红色下划线波浪线表示语法错误: 截图请注意,您还需要安装Nuget包System.ValueTuple以使用新的C#7值元组功能.

  • VS2015.3,为.NET 4.7.1编译:`Microsoft.Net.Compilers仅在MSBuild v15.0及更高版本上支持 - 我需要使用此版本:https://www.nuget.org/packages/Microsoft .Net.Compilers/2.4.0构建它,然后它工作正常.:) (12认同)
  • 请注意,如果您的中型或大型公司VS2017 Community Edition的员工可能无法用作被许可人,我在理论上同意@PanagiotisKanavos.我相信VS Code是真正的FOSS. (10认同)
  • 在这种情况下,最好使用VIsual Studio Code,或者只是安装Visual Studio 2017社区 (9认同)
  • 我将最新的Microsoft.Net.Compilers nuget安装到我的Xamarin.Forms UWP,Windows 8.1和Windows Phone 8.1项目,以及最新的System.ValueTuple nuget(以及所有其他System.*系列nugets的最新版本) .一切似乎在构建和运行时都能正常工作.(我没有尝试过调试器功能集的每个角落.) (6认同)
  • 这是一件好事.所以你可以慢慢地将一些项目切换到VS2017,因为知道_在紧急情况下_其他开发人员_可以使用你的代码. (3认同)

yib*_*ibe 6

就我而言,仅安装Microsoft.Net.Compilers不起作用。相反,我必须执行以下操作:

  1. 为项目安装Microsoft.CodeDom.Providers.DotNetCompilerPlatform ( Tools => NuGet Package Manager => Manage Nuget Packages for Solution... ) 并安装Microsoft.CodeDom.Providers.DotNetCompilerPlatform
  2. 为项目安装最新的Microsoft.Net.Compilers
  3. 为要使用的最新 C# 功能安装任何其他 NuGet 包。就我而言,我的目标是使用元组,所以我安装了System.ValueTuple并且工作正常。

但仍请注意,Visual Studio 2015 默认编译器不知道的 C# 代码下面仍会有红色波浪线。