«dotnet» не является внутренней или внешней командой
Сообщение значит, что терминал не нашёл программу dotnet. В командной строке Windows оно выглядит так: "dotnet" не является внутренней или внешней командой, исполняемой программой или пакетным файлом, в PowerShell — Имя "dotnet" не распознано как имя командлета... (The term 'dotnet' is not recognized), в Linux — dotnet: command not found.
Сначала — простое
Проверьте по порядку; чаще всего хватает первого или второго шага.
Убедитесь, что .NET SDK установлен
Если ставили только Visual Studio Code или скачали Runtime вместо SDK, команды
dotnetможет не быть вовсе. Поставьте SDK — справка Как установить .NET SDK.После установки в новом окне терминала
dotnet --versionпечатает номер версии — всё готово.Откройте окно терминала заново
Установщик дописывает папку
dotnetв переменную PATH — список папок, где система ищет программы. Окна терминала, открытые до установки, этого не знают. Закройте все окна терминала (и Visual Studio Code, если терминал в нём) и откройте снова. Иногда помогает только выход из системы или перезагрузка.В новом окне
dotnet --versionпечатает номер версии — всё готово.
Если не помогло — проверьте PATH
Дальше всё зависит от системы.
Windowsнайти dotnet и добавить в PATH
Где лежит dotnet
В Windows SDK ставится в C:\Program Files\dotnet\. Проверьте, есть ли там dotnet.exe, и видит ли его система. В командной строке:
where dotnetВ PowerShell — where.exe dotnet или Get-Command dotnet (просто where в PowerShell — другая команда). Если файл на месте, но where его не находит, папки нет в PATH.
Добавьте папку в PATH
- Откройте «Пуск» и наберите «переменные среды».
- Выберите «Изменение системных переменных среды» и нажмите кнопку «Переменные среды».
- В списке «Системные переменные» выберите
Path→ «Изменить» → «Создать» и впишитеC:\Program Files\dotnet\. - Сохраните и откройте новый терминал.
Не удаляйте и не меняйте другие строки в Path: от них зависят остальные программы. Нужно только добавить одну новую строку.
Если в Path есть и C:\Program Files (x86)\dotnet\, и C:\Program Files\dotnet\, первой должна идти папка без (x86). Иначе запускается 32-разрядный dotnet, который не видит обычный 64-разрядный SDK, и команды пишут, что SDK не найден.
Linuxдописать PATH в ~/.bashrc
Если SDK поставлен из пакетов (sudo apt install dotnet-sdk-10.0), команда сразу доступна. Если ставили скриптом dotnet-install.sh в домашнюю папку, допишите в конец файла ~/.bashrc:
export DOTNET_ROOT=$HOME/.dotnet
export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/toolsи откройте новый терминал (или выполните source ~/.bashrc).
Команда есть, но SDK не найден
dotnet --version или dotnet new пишут No .NET SDKs were found — значит, установлена только среда выполнения (Runtime). Поставьте именно SDK и проверьте список: dotnet --list-sdks.