Код VS CSC: ошибка CS1617: неверная опция '7.3' для /langversion
Я скачал VS 2017 15.7, .NET Core 2.1.2 и Blazor, чтобы опробовать его. Он не работал в VS 2017 должным образом и думал, что я попробую через dotnet cli и VS Code. Вместо этого я встретил следующую ошибку:
CSC : error CS1617: Invalid option '7.3' for /langversion.
В VS запускается приложение, показывающее "Загрузка...", а затем ничего. Не уверен, что эти две проблемы связаны
dotnet --info
возвращает следующее:
.NET Command Line Tools (2.1.300-preview1-008174)
Product Information:
Version: 2.1.300-preview1-008174
Commit SHA-1 hash: b8df89a54f
Runtime Environment:
OS Name: Windows
OS Version: 10.0.17666
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\2.1.300-preview1-008174\
Microsoft .NET Core Shared Framework Host
Version : 2.1.0-preview1-26216-03
Build : f2c3216183d20416568a4bbf5bb7d153e826f153
15 ответов
Вы должны использовать предварительную версию VS для опробования Blazor, которая имеет номер 15.8.x
И установить ядро .net 2.1 RC. 2.1.2 не будет его резать.
Только что получил это, и Clean, Rebuild устранил проблему для меня.
Приходите в октябре 2020 года, и я на VS 2019 .. и это моя ошибка, из-за которой я нашел этот пост в Google:
CS1617 Недопустимая опция "7.3" для /langversion; должен быть ISO-1, ISO-2, Default, Latest или действующей версией в диапазоне от 1 до 7.1.
FWIW - Я просто работаю над старым проектом.NET Framework / ASP.NET / Web API2, fwiw, не пытаясь сделать что-нибудь крутое со стандартами или ядром...
Я чешу затылок, потому что:
- Работает на моей рабочей станции на работе
- Он работает на моем конвейере CI Azure
- Итак.. почему бы не на моей рабочей станции Win 10 pro дома?
Решение
- Я запустил установщик Visual Studio> 2019 > Дополнительно> Изменить экран
- Переключился на
Individual Components
вкладка, прокрутите вниз доCode Tools
- и обнаружил, что этот маленький флажок требует проверки
NuGet targets and build tasks
Это было единственное, что я мог легко различить между двумя моими рабочими станциями на работе и дома. Я полагаю, что установка этого флажка имела значение, а не только тот факт, что я был вынужден закрыть и перезапустить Visual Studio после того, как я восстановил nugets... но вы никогда не узнаете.
В VS 2019 я перешел к файлам проекта, изменил целевую платформу на 4.7.2 с 4.6.2, сборка проекта прошла успешно. Затем вернитесь к 4.6.2, и он все еще успешно строится
Очистка и перестройка не работали для меня, пока я не закрыл Visual Studio и не удалил папку.vs, а затем снова открыл, очистил и перестроил.
Просто столкнулся с этой проблемой, поскольку приложение работало раньше, но недавно было перенесено с репозитория на новый компьютер. Первая проблема заключалась в том, что пакет Nuget не был найден, и когда мы исправили эту ошибку, возникла эта. Решение было:
- Закройте Visual Studio
- Открытое решение
- Удалите Microsoft.Net.Compilers (так как это устарело)
- Обновите / установите Microsoft.CodeDom.Providers.DotNetCompilerPlatform и Microsoft.Net.Compilers.Toolset до последней версии.
5. Очистите и восстановите раствор
Мне кажется, что несовпадение версий обоих этих пакетов вызвало проблему с языковым параметром, но я понятия не имею, как это произошло, поскольку он работал правильно в последний раз, когда проект был зарегистрирован.
В моем случае проблема заключалась в том, что для версии Typescript было установлено значение «2.5 (Недоступно)» в свойствах проекта на вкладке «Сборка TypeScript». Я перешел на «Использовать последнюю доступную версию», чтобы устранить проблему.
Почему была установлена недоступная версия? Поскольку исходные файлы были извлечены из архива, созданного VisualStudio на другом компьютере с TS версии 2.5. На нынешнем ПК нет 2.5, только 4.1.
В моем случае я открыл решение с новой версией Visual Studio, а затем попытался запустить его с более старой версией
Откройте csproj с помощью блокнота
Изменить элемент LangVersion
Из
<LangVersion>7.3</LangVersion>
К
<LangVersion>6</LangVersion>
Используйте подходящее значение для вашего сценария
У меня была такая же проблема с решением в VS 2019. В дополнение к этой ошибке у меня была еще одна ошибка для двух проектов из этого решения:
cs0006: файл метаданных c# не найден
Исправление заключалось в том, чтобы закрыть VS, удалить obj-папку из этих проектов, снова открыть решение и скомпилировать.
У меня ничего из этого не сработало. Мой код компилировался без проблем, но при попытке опубликовать его приводил к сбою из-за указанной выше ошибки. Чтобы исправить это, я обнаружил, что файл Directory.Build.Props требует редактирования, чтобы
<Project>
<PropertyGroup>
<LangVersion>Default</LangVersion>
</PropertyGroup>
</Project>
Надеюсь, кто-нибудь найдет этот самородок полезным!
Откройте свой проект в VS 2022, так как VS 2019 не поддерживает .NET 6.
Вы можете использовать один из 15.7 превью или выше. Немного бессмысленно использовать их сейчас, когда выйдет финал 15.7. Вы также можете использовать предварительный просмотр 15.8, так как он инкрементален к финалу 15.7. Посетите https://blazor.net/, чтобы узнать последние подробности о начале работы и т. Д.
Я использую Visual Studio 2019 и также сталкиваюсь с этой ошибкой при создании проекта MVC REST Api. Решаю это уменьшением версии фреймворка до 4.5 (было на 4.6.1).
У меня была та же проблема (пустой экран при запуске приложения в VS, недопустимая опция '7.3' из CLI), и мне просто нужно было обновить версию SDK. Проверьте это используя dotnet --info
, 2.1.300-preview1 не работает, вам нужен 2.1.300-rc1, доступный по https://www.microsoft.com/net/download/all
Ответ Bkwdesign и этот пост немного помогли мне. Последний исправил проблему локально, но на моем сервере сборки произошел сбой с некоторыми ошибками, говорящими что-то о «GetPathsOfAllDirectoriesAbove()». Прежде чем спуститься в эту кроличью нору (потому что со сборкой на сервере никогда не было проблем), я пришел к ответу bkwdesign. Я не следил за всем этим, а просто обновил VS 2019, и он работал локально. Мой сервер сборки по-прежнему в порядке.