Как использовать 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 не работала. Вместо этого я должен был сделать следующее:
- Установите Microsoft.CodeDom.Providers.DotNetCompilerPlatform для проекта (Инструменты => Диспетчер пакетов NuGet => Управление пакетами Nuget для решения...) и установите Microsoft.CodeDom.Providers.DotNetCompilerPlatform.
- Установите последние версии Microsoft.Net.Compilers для проекта.
- Установите любой другой пакет NuGet для последней функции C#, которую вы хотите использовать. В моем случае моей целью было использование Tuples, поэтому я установил System.ValueTuple и работал нормально.
Но все же обратите внимание, что коды C#, которые не известны компилятору по умолчанию в Visual Studio 2015, по-прежнему будут иметь красные загогулины.