VSCode调试.NET6报错终端启动失败dotnet路径不存在解决方法
Arch Linux下VS Code调试.NET 6报dotnet路径不存在的排查方案
问题复现
启动.NET 6项目调试时抛出错误:
the terminal process failed to launch: path to shell executable "dotnet" does not exist.
排查解决步骤
- 第一步:验证系统层面dotnet可用性
打开系统原生终端(不要用VS Code内置终端)执行dotnet --version,如果提示命令不存在,说明.NET 6 SDK未正确安装。Arch系直接通过官方pacman源安装即可,不要通过snap、手动解压二进制包的方式安装,容易出现路径不统一、权限不足的问题,安装执行sudo pacman -S dotnet-sdk-6.0完成安装,安装完成后重新执行版本命令,确认能正常输出6.0.x的版本号。
如果安装后系统终端依然识别不到dotnet,手动执行sudo ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet补全软链,登出当前桌面会话再重新登入即可。 - 第二步:修复VS Code环境变量不继承问题
如果系统原生终端能正常识别dotnet命令,只有VS Code内报错,本质是桌面环境启动的VS Code没有加载shell的PATH配置,属于Linux桌面端常见问题。
两种修复方式选其一即可:- 后续启动VS Code时,直接在系统终端内进入项目目录,执行
code .启动,VS Code会完整继承终端的PATH变量,直接识别dotnet路径 - 打开VS Code设置,搜索
terminal.integrated.env.linux,点击进入settings.json编辑,在配置中追加dotnet路径到PATH变量,参考配置:
保存后重启VS Code即可生效。"terminal.integrated.env.linux": { "PATH": "/usr/bin:/usr/share/dotnet:${env:PATH}" }
- 后续启动VS Code时,直接在系统终端内进入项目目录,执行
- 第三步:检查调试配置文件错误
打开项目目录下.vscode文件夹,检查launch.json和tasks.json配置:- 确认没有误将VS Code内置终端的默认shell路径设置为
dotnet - 如果手动修改过配置导致字段错乱,直接删除这两个json文件,重新安装官方C#扩展后按提示重新生成调试配置,不要手动修改runtime、shell相关的路径字段。
- 检查
tasks.json里的构建任务command字段,正常应为"command": "dotnet",不要错填到终端shell配置项中。
- 确认没有误将VS Code内置终端的默认shell路径设置为
内容的提问来源于stack exchange,提问作者Lucas R. Costa
相关产品推荐
相关产品推荐

