Ubuntu下Visual Studio Code无法定位.NET SDK问题解决方法
故障原因
snap渠道安装的.NET SDK默认路径不在GUI应用的默认加载PATH中,手动创建的软链仅能让终端识别dotnet命令,Visual Studio Code的C#扩展启动时无法读取到SDK依赖所需的DOTNET_ROOT路径,加上桌面环境不会加载终端shell的别名配置,因此反复重装SDK和扩展都无法解决问题。
修复步骤
- 清理之前冲突的配置
先删除手动创建的冗余软链接,避免和snap的别名配置冲突:sudo rm -f /usr/local/bin/dotnet - 配置全局系统环境变量
新建全局环境变量配置文件,让所有用户、包括桌面启动的GUI应用都能识别dotnet路径:
给配置文件添加可执行权限:sudo tee /etc/profile.d/dotnet.sh <<EOF export DOTNET_ROOT=/snap/dotnet-sdk/current export MSBuildSDKsPath=$DOTNET_ROOT/sdk/6.0.301/Sdks export PATH=\$PATH:\$DOTNET_ROOT EOFsudo chmod +x /etc/profile.d/dotnet.sh - 配置VS Code的dotnet路径
- 启动VS Code,按
Ctrl+,打开设置面板 - 搜索配置项
dotnet.dotnetPath,将值设置为/snap/dotnet-sdk/current/dotnet - 如果使用的是snap版本的VS Code,还需要执行以下命令开放沙箱访问权限,否则VS Code无法读取snap安装的dotnet文件:
sudo snap connect code:dotnet-runtime-60 dotnet-sdk:dotnet-runtime-60
- 启动VS Code,按
- 生效配置
注销当前系统用户后重新登录(或直接重启系统),先在终端执行dotnet --list-sdks,确认输出包含6.0.301版本后,再启动VS Code即可,原报错会自动消失,.NET调试功能可正常启用。
注意:如果执行完上述步骤仍有问题,可以直接卸载snap版本的.NET SDK,改用微软官方apt源安装的版本,不会存在路径识别和权限问题。
内容的提问来源于stack exchange,提问作者PepeePL
相关产品推荐
相关产品推荐

