VS 2015 不会将我的项目构建为 C# 6.0

VS 2015 will not build my project as C# 6.0

根据标签,这是 Visual Studio 2015 年的 ASP MVC 项目。Razor 中的代码:

@if (Model.AdditionalContacts?.Count > 0) { }

收到错误:

Feature 'null propagating operator' is not available in C# 5. Please use language version 6 or greater.

我使用的是 VS 2015。为什么这不是默认的?

修复步骤:

出现同样的错误。为什么?

[编辑]: 代码直接在 CS 文件中运行良好。我什至将语言切换回 "default" 而不是 C# 6.0 并且它可以工作。它只在 CSHTML 文件中不起作用。 Razor 不支持这个吗?或者这可能与 IIS 有关?

MVC5 项目(在 Razor 中)不会自动提供 C# 6.0 功能,您有两个选择:

  • 更新至 MVC 6 测试版
  • 为 .NET 编译器安装 CodeDOM 提供程序,