Visual Studio 2012中的C#6.0支持

Rol*_*aer 35 c# visual-studio-2012 c#-6.0

我已经在我现在的公司工作了六个多月,我们目前正在使用Visual Studio 2012.我们将开始构建一个新的应用程序,我一直在努力获得Visual Studio 2015升级的承诺我们可以从最新技术开始.不幸的是,这是一家小公司,需要考虑预算.

有谁知道Visual Studio 2012是否支持C#6.0.我在想,因为它即将成为第三代旧版本,它可能无法获得支持.

更新:

我看到很多与VS2015社区版相关的评论,所以我想我会澄清我公司对该版本的立场.该公司拥有大约20名员工和6人IT团队,他们出于各种原因都需要VS. 我们还有超过100万美元的销售额,因此我们无法获得社区版.

更新2:

问:C#6.0中是否有一些特定的功能你不能没有?

答:虽然属性初始化器和主要构造器将减少代码中的大量箔条,但没有任何特定功能.

Ale*_*ich 57

是的,您可以将每个项目的c#6.0安装到VS2012和VS2013中作为NuGet包.您必须为您希望c#6.0功能的每个项目安装此软件包.

https://www.nuget.org/packages/Microsoft.Net.Compilers/

通过Nuget安装最新的C#编译器

Install-Package Microsoft.Net.Compilers

编辑:正如下面的评论所指出的,将NuGet升级到最新版本,以确保与nuspec文件完全兼容.

  • @MathewSachin:VS2012/2013中没有办法避免使用红色波浪线来获得新的C#6功能,即使它们编译得很好.VS2012/2013**编辑器**不了解新语法并显示错误,请参阅[关于VS2013的社交MSDN帖子](https://social.msdn.microsoft.com/Forums/en-US/2974e998-e383-47e4-b030-2117e58c38e6 /罐,我用6 - 语言功能 - 用视觉工作室2013?论坛= csharpgeneral) (4认同)
  • 在项目中安装了NuGet包后,可以开始在该项目中使用C#6.0功能.例如,添加一个表达体的方法,如:public int GetValue()=> 10*10; 如果您使用最新的ReSharper,那么您将获得该方法下的红色波浪线.旁边显示的灯泡图标将提供启用C#6.0功能的选项. (3认同)