【问题标题】:How Does Resharper's 'Enabled C# 6.0 Features' Work in Visual Studio 2012?Resharper 的“已启用 C# 6.0 功能”如何在 Visual Studio 2012 中工作?
【发布时间】:2015-12-21 16:22:50
【问题描述】:

我被告知 Visual Studio 2012 将不支持 C# 6.0,并且要编译 C# 6.0 代码,我需要升级到较新版本的 Visual Studio。

但是,当我粘贴 C# 6.0 代码时,Resharper 会询问我是否要启用 C# 6.0 支持。如果允许,我可以编译 C# 6.0 代码。

        List<string> customers = null;
        string Customer;

        int? length = customers?.Count; 
        Customer = customers?[0];      

它似乎工作,但谁能解释它是如何工作的?

如果我进入项目的属性/构建/高级...“语言版本”设置为“默认”。如果我检查下拉列表,我最多只能看到 C# 5.0。

【问题讨论】:

  • 据我记得它不能为自动属性分配默认值。也试试,也许他们修好了:)

标签: c# visual-studio-2012 resharper


【解决方案1】:

根据this answer,如果您的项目中安装了“Microsoft.Net.Compilers”NuGet 包,它可以在 VS 2012 中运行。

【讨论】:

  • 我能够在 Visual Studio 2012 中构建 C# 6.0 代码而无需安装任何 NuGet 包 - 但我不明白它是如何工作的?
【解决方案2】:

我的最佳猜测是您使用的是 ReSharper 构建引擎(ReSharper -> 选项 -> 工具 -> 构建,请参阅构建引擎)

【讨论】:

    猜你喜欢
    • 2015-01-21
    • 1970-01-01
    • 2013-06-03
    • 2011-11-17
    • 2015-04-22
    • 2015-03-14
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多