Чтобы использовать новые языковые функции С# 7.1 с Visual Studio 2017, добавьте параметр <LangVersion>latest</LangVersion>
в файл проекта.
Однако создание таких проектов из MSBuild (версия 15.3.409.57025, расположенная в C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin
) приводит к ошибке:
CSC : error CS1617: Invalid option 'latest' for /langversion;
must be ISO-1, ISO-2, Default or an integer in range 1 to 6.
Эта функция просто еще не поддерживается MSBuild или можно заставить ее работать?
Это относится к 200+ проектам, которые изначально создавались по-разному в Visual Studio 2013 и 2015. Все они были перенаправлены на .NET 4.7 с помощью инструмента Target Framework Migrator (который сохранил много нажатий и отображался на основе при проверке изменений файла .csproj - для правильной работы).
Все проекты успешно собраны из Visual Studio 2017.