【问题标题】:C# 6.0 Support in Visual Studio 2012Visual Studio 2012 中的 C# 6.0 支持
【发布时间】:2015-04-22 16:43:18
【问题描述】:

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

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

更新:

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

更新 2:

问:C# 6.0 中是否有一些您离不开的特定功能?

答:虽然属性初始化器和主构造器会减少代码中的大量垃圾,但没有任何特定功能。

【问题讨论】:

  • 它不会获得对新语言功能的支持。 Visual Studio 2015 使用 Roslyn 编译器而不是旧的本机编译器,所有新功能仅在 Roslyn 中实现。
  • VS 2013 甚至不支持 C# 6.0,你需要 VS2015。你需要最新的编译器来支持这个
  • @Roland Schaer 有一个新的社区版本。如果你的雇主很小(一年不到 100 万美元),你可以免费使用这个。它包括 - 与旧的 Express versinos 相比 - 插件并且与专业版相当。
  • 我查看了社区版,不幸的是我们的年销售额超过 100 万美元。
  • 关于主构造函数的重要提示:stackoverflow.com/questions/26915789/…

标签: c# visual-studio-2012 c#-6.0


【解决方案1】:

问:有人知道 Visual Studio 2012 是否支持 C# 6.0。

A:不,绝对不是。出于技术和营销原因。

C# 6.0 是 C# 的最新/最强大/最前沿版本,将随 VS 2015 一起提供。

如果您希望使用 MSVS 2012,则必须写入 C# 5.0 或更低版本。确保您的代码在升级编译器时应该是可移植的。

问:C# 6.0 中是否有一些您离不开的特定功能?

【讨论】:

  • 感谢您的回复。我添加了我的答案作为对原始问题的更新。
【解决方案2】:

您必须升级。您将希望与 IDE 一样获得有助于开发和新功能的更改。

您可以考虑使用 Visual Studio Community(以前称为 VS Professional)。当他们发布 VS2015 时,我希望发布类似于 VS 2012 社区的版本。

请参阅here 了解更多信息。最多 5 位开发人员可以在一家商业公司获得一份副本。

【讨论】:

  • 请注意,商业公司许可证中的 5 个用户适用于“非企业”公司。企业公司的定义是拥有 > 250 台 PC 或年收入 > 100 万美元的公司(请参阅上面链接页面的问答部分中的第一个问题)
  • @FrankBoyne 在他的问题中,他确实说他在一家小企业。如果公司拥有超过 250 台 PC 或年收入 1,000,000 美元,他们可以负担得起许可证。
【解决方案3】:

是的,您可以在每个项目的基础上将 c# 6.0 作为 NuGet 包安装到 VS2012 和 VS2013 中。您必须为每个需要 c# 6.0 功能的项目安装此包。

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

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

Install-Package Microsoft.Net.Compilers

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

【讨论】:

  • 你能详细说明一下吗?使用 NuGet 安装 Microsoft.Net.Compilers 后,我应该如何进行?
  • 在项目中安装 NuGet 包后,您可以开始在该项目中使用 C# 6.0 功能。例如添加一个表达式主体方法,如: public int GetValue() => 10 * 10;如果您使用最新的 ReSharper,您将在该方法下获得红色波浪线。旁边显示的灯泡图标将具有启用 C# 6.0 功能的选项。
  • 这对我们的本地 TFS 2012 Build Controller 非常有用!很棒的发现。
  • 我的代码编译得很好。我没有 Resharper。 VS2012 将 c# 6.0 代码显示为错误。我该如何解决?请帮忙。
  • @MathewSachin:在 VS2012/2013 中,对于新的 C# 6 功能,即使编译良好,也无法避免出现红色波浪线。是 VS2012/2013 editor 不理解新语法并显示错误,请参阅 Social MSDN post regarding VS2013
猜你喜欢
  • 1970-01-01
  • 2015-11-29
  • 2015-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-17
  • 1970-01-01
相关资源
最近更新 更多