Как включить все функции C# 7 в проекте Visual Studio 2017?


после выпуска Visual Studio 2017 я хотел попробовать создать простой консольный проект с новыми функциями C# 7. Я ожидал, что я просто загружу новую Visual Studio 2017, а затем создам новый консольный проект и смогу использовать новые функции C# 7. Но я не могу.

Я могу использовать некоторые функции, такие как кортежи, если я установлю система пакетов NuGet.ValueTuple.

но для других функций, я не знаю, что мне нужно делать. Например эта проблема NuGet.

Мне нужно сделать всю эту грязную установку сейчас? Или я могу включить функции c# 7 более простым способом?

3 54

3 ответа:

для произвольных типов задач, с которыми вы связаны во 2-й части вашего вопроса, вам нужно включить System.Threading.Tasks.Extensions.

причина, по которой вам нужны эти пакеты NuGet, заключается в том, что новые языковые функции зависят от новых типов, добавленных в .NET framework. Новые типы, от которых зависят функции языка C#, не будут" встроены в фреймворк " до следующей дополнительной версии, выпущенной после 4.6.2, чтобы не сломать SemVer1. Так что если вы строите проект, используя следующую версию фреймворка, вам нужно будет использовать пакеты NuGet, чтобы заставить функции работать.

это ничем не отличается от получения методов расширения для работы в проекте .NET 2.0. Вы можете использовать методы расширения, но вам нужно использовать пакет NuGet (или добавить код самостоятельно), чтобы получить типы, которые он использует для добавления в ваш проект.


1: Итак, 4.7 или 5.0, как бы они ни решили это назвать, если есть это 4.6.3 он не будет в этой версии, потому что это не второстепенная версия выпуска bump, то есть версия патча bump, и вы не можете вносить изменения API в версию патча bump без нарушения семантического управления версиями.

любой проект, предназначенный для .NET 4.7, может использовать кортежи C# 7 без добавления пакета Nuget. Вам придется установить его вручную:

  1. обновление до Windows 10 Creator's Update (10.0.15063) или установка .NET Framework 4.7 на другие версии Windows:https://www.microsoft.com/en-us/download/details.aspx?id=55170
  2. в меню Пуск запустите Visual Studio Installer и нажмите кнопку Изменить. Перейдите в раздел "отдельные компоненты" и проверьте следующие два комплектующие:
    • .NET Framework 4.7 SDK
    • .NET Framework 4.7 targeting pack

Он не работает из коробки в обновлении Windows 10 Creator, потому что Microsoft пропустила компоненты .NET 4.7 из рабочей нагрузки "среда рабочего стола .NET". Я подал ошибку, но они закрыли ее как не a Ошибка:

VS2017 update 3 может поддерживать c#7.1, но по умолчанию он настроен на поддержку c#7.0.

вы можете изменить настройки вашего проекта и выберите c# 7.1

для более подробной информации как настроить vs2017. 3 Для поддержки последней версии c#7.1