2015-09-11 4 views
4

Per тегах это проект ASP MVC в Visual Studio 2015. Код в Razor: получилVS 2015 не будет строить свой проект в C# 6.0

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

Ошибка:

Функция «нулевой распространяющаяся оператор 'не доступен на C# 5. Пожалуйста, используйте языковой вариант 6 или выше.

Я использую VS 2015. Почему это не было дефолтом?

Шаги, предпринятые для исправления:

  • Открытого проекта Properties
  • Нажмите Build
  • CLICK Advanced
  • Набор Language Version для C# 6.0
  • Clean/Rebuild

Произошла такая же ошибка. Зачем?

[Изменить]: Код отлично работает в файле CS напрямую. Я даже переключил язык на «default», а не на C# 6.0, и он работает. Он не работает в файлах CSHTML. Разве Razor не поддерживает это? Или, возможно, это связано с IIS?

ответ

6

C# 6.0 функции автоматически не доступна в MVC5 проектах (в Razor), у вас есть два варианта:

  • Обновление для MVC 6 беты
  • Install провайдеров CodeDOM для .NET Compiler, see details here
+1

Вы должны уточнить ответ, чтобы уточнить, что это файлы Razor *, которые не могут использовать функции C# 6. C# 6 отлично работает в остальной части проекта MVC 5. Более того, если вы найдете дублирующий вопрос, проголосуйте, чтобы закрыть текущий, как дубликат. Несколько ответов на идентичные вопросы просто создают шум, затрудняя поиск правильного ответа. –

Смежные вопросы