Как использовать C#7 с Visual Studio 2015?

Я слышал, что последний предварительный просмотр Visual Studio 15 можно настроить для воспроизведения с некоторыми функциями C#7, но как насчет Visual Studio 2015?

Как я могу использовать C#7 с ним?

2 ответа

Решение

Вы можете заменить компилятор, поставляемый с Visual Studio, для версии с поддержкой C# 7, установив пакет Nuget https://www.nuget.org/packages/Microsoft.Net.Compilers/:

Ссылка на этот пакет приведет к тому, что проект будет построен с использованием конкретной версии компиляторов C# и Visual Basic, содержащихся в пакете, в отличие от любой установленной системы версии.

Нет никаких признаков того, что я вижу на странице пакета, является ли это официально поддерживаемым в Visual Studio 2015. Мои не всесторонние тесты пока показывают, что это работает, но не безболезненно - код C# 7 компилируется, но подчеркнут красным волнистая линия, указывающая на синтаксическую ошибку: Скриншот Обратите внимание, что вам также потребуется установить пакет Nuget System.ValueTuple, чтобы использовать новые функции кортежей значений C# 7.

В моем случае установка только Microsoft.Net.Compilers не работала. Вместо этого я должен был сделать следующее:

  1. Установите Microsoft.CodeDom.Providers.DotNetCompilerPlatform для проекта (Инструменты => Диспетчер пакетов NuGet => Управление пакетами Nuget для решения...) и установите Microsoft.CodeDom.Providers.DotNetCompilerPlatform.
  2. Установите последние версии Microsoft.Net.Compilers для проекта.
  3. Установите любой другой пакет NuGet для последней функции C#, которую вы хотите использовать. В моем случае моей целью было использование Tuples, поэтому я установил System.ValueTuple и работал нормально.

Но все же обратите внимание, что коды C#, которые не известны компилятору по умолчанию в Visual Studio 2015, по-прежнему будут иметь красные загогулины.

Другие вопросы по тегам