C# 6.0在Visual Studio 2012中的支持
C# 6.0在Visual Studio 2012中的支持
我在目前的公司工作已经有半年多了,我们目前正在使用Visual Studio 2012。我们将要开始开发一个新的应用程序,所以我一直在努力争取升级到Visual Studio 2015,以便我们可以使用最新的技术。不幸的是,我们是一家小公司,需要考虑预算的问题。\n有人知道C# 6.0是否支持在Visual Studio 2012吗?我觉得,既然它即将成为第三代老版本,可能不会得到支持。\n更新:\n我看到很多关于VS2015社区版的评论,所以我想澄清一下我们公司对该版本的立场。公司有大约20名员工和一个由6人组成的IT团队,他们都需要VS来完成各种任务。此外,我们的销售额超过100万美元,所以我们无法符合社区版的资格。\n更新2:\n问:有没有C# 6.0中你无法没有的特定功能?\n答:没有特定的功能,尽管属性初始化器和主构造函数将减少代码中的许多冗余部分。
C# 6.0在Visual Studio 2012中的支持的问题是由于该版本的IDE没有进行更新导致的。解决这个问题的方法是升级到Visual Studio 2015或者Visual Studio Community。Visual Studio Community是一种免费的版本,可以在商业公司中提供给最多5名开发人员使用。需要注意的是,5名用户的许可证适用于“非企业”公司。企业公司被定义为拥有超过250台计算机或者年收入超过100万美元的公司。如果该公司有超过250台计算机或者100万美元以上的年收入,他们可以负担得起这些许可证。详细信息可以参考这个链接:http://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx。
C# 6.0在Visual Studio 2012中的支持
在使用Visual Studio 2012和Visual Studio 2013时,我们可以通过NuGet包将C# 6.0安装到项目中。需要注意的是,每个需要使用C# 6.0特性的项目都需要安装这个NuGet包。具体的安装步骤如下:
1. 打开NuGet包管理控制台。
2. 输入以下命令进行安装:
Install-Package Microsoft.Net.Compilers
请确保将NuGet升级到最新版本,以确保与nuspec文件完全兼容。
安装了Microsoft.Net.Compilers NuGet包后,我们可以在该项目中开始使用C# 6.0的特性。例如,我们可以添加一个表达式体的方法:
public int GetValue() => 10 * 10;
如果我们使用最新的ReSharper插件,我们会在这个方法下面看到红色的波浪线。在它旁边出现的灯泡图标会有一个选项,可以启用C# 6.0的特性。
需要注意的是,即使代码编译正常,使用旧版本的Visual Studio 2012或Visual Studio 2013时,新的C# 6.0特性仍然会在编辑器中显示为错误。这是因为这些版本的编辑器无法理解新的语法并显示错误。详细信息可以参考MSDN论坛上关于VS2013的帖子。
如果你使用的是较旧版本的Visual Studio 2012,请确保先升级NuGet,否则可能无法正确解析nuspec文件。
总结起来,要在Visual Studio 2012中使用C# 6.0的特性,我们可以通过安装Microsoft.Net.Compilers NuGet包来实现。然而,需要注意的是,使用旧版本的Visual Studio 2012或Visual Studio 2013时,编辑器可能无法正确解析新的语法并显示错误。