У меня есть проект в Visual Studio, который не будет компилироваться.Выдает множество ошибок, подобных этим:
ошибка CS1001: ожидается идентификатор
;ожидается
ошибка CS1022: определение типа или пространства имен или ожидаемый конец файла
ошибка CS0116: пространство имен не может напрямую содержать элементы, такие как поля или методы
Жалуется на современныеC # конструкции, такие как Tuples.Всякий раз, когда я перехожу к этим файлам, Visual Studio не помечает никаких ошибок или помечает их за секунду до того, как они исчезнут.
Если перейти к свойствам проекта (в Build -> Advanced ...)языковая версия установлена на «C # последняя основная версия (по умолчанию)».Если я установлю его на 7.0 или выше, чтобы попытаться получить поддержку этих конструкций, при компиляции проекта он выдаст следующую ошибку:
Недопустимая опция '7' для / langversion;должно быть ISO-1, ISO-2, По умолчанию или целое число в диапазоне от 1 до 6.
Так что, похоже, он не принимает версию C # выше 6.
Стоит отметить, что этот проект используется в репозитории, и ни у кого из других членов команды не возникло проблем с его компиляцией.Поэтому все это указывает на проблему с локальной настройкой моей машины или Visual Studio, а не на конфигурацию проекта.
Некоторые моменты, которые следует учитывать:
- Пакет«System.ValueTuple» правильно указана в проекте и установлена на версию 4.3.1.
- Пакет «Microsoft.Net.Compilers» имеет версию 2.2.0.
- Целевая структурадля проекта установлено .NET Framework 4.6.2.
- Моя Visual Studio имеет самую последнюю версию, 15.8.7.
Это некоторые из вещей, которые япробовал:
- Обновление пакетов "System.ValueTuple" и "Microsoft.Net.Compilers" до их последних версий.
- Я собрал, перестроил и очистил проект.
- Я попытался обновить все другие проекты в моем решении до той же версии Microsoft.Net.Compilers.
- Я восстановил установку Visual Studio.
И все же ничего не работает.
Любая помощьоценили!