Elementary OS下VS Code搭配Unity使用报未找到.NET Core SDK错误求解
报错提示:The .NET Core SDK cannot be located .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on the path
解决方案
首先执行终端命令验证.NET SDK安装状态:dotnet --list-sdks
如果没有输出.NET 5.x版本号,先重新完成.NET 5的安装配置,确认安装成功后再执行以下步骤:
1. 手动指定VS Code的dotnet路径
- 终端执行
which dotnet获取dotnet可执行文件的绝对路径,常见路径为/usr/bin/dotnet或/home/当前用户名/.dotnet/dotnet - 打开VS Code设置,搜索
dotnet path,找到**.NET: Dotnet Path**配置项,将上一步获取的路径填入 - 继续搜索
omnisharp use global mono,将配置值改为always
2. 重置项目VS Code配置
- 完全关闭VS Code,删除Unity项目根目录下的
.vscode文件夹 - 回到Unity编辑器,打开
编辑 > 首选项 > 外部工具,确认外部脚本编辑器选择为VS Code,点击下方的「重新生成项目文件」按钮 - 从Unity中双击打开任意C#脚本,自动拉起VS Code后检查报错是否消失
3. 修复全局环境变量配置
如果上述操作后仍报错,需要将.NET路径写入全局环境变量适配Elementary OS的桌面环境加载逻辑:
- 编辑当前用户的shell配置文件,如果你用Bash执行
nano ~/.bashrc,用Zsh执行nano ~/.zshrc - 在文件末尾添加以下两行,注意替换为实际的dotnet父级目录:
export DOTNET_ROOT=你的dotnet父级目录 # 例:如果which dotnet返回/home/aaa/.dotnet/dotnet,此处填/home/aaa/.dotnet export PATH=$PATH:$DOTNET_ROOT
- 执行
source ~/.bashrc(Zsh对应source ~/.zshrc)使配置生效,重启电脑后再打开VS Code验证
4. 处理多版本.NET冲突
如果你的设备安装了多个版本的.NET,执行以下命令切换默认版本为.NET 5.x:sudo update-alternatives --config dotnet
在弹出的列表中选择.NET 5对应的序号回车即可。
内容的提问来源于stack exchange,提问作者Fartomy
相关产品推荐
相关产品推荐

