MacBook下Unity开发C#时OmniSharp提示找不到.NET Core SDK
解决OmniSharp找不到.NET Core SDK的问题(Mac + Unity环境)
1. 确认.NET SDK的实际安装路径
打开终端,执行命令查看已安装的.NET SDK路径:
dotnet --list-sdks
如果能输出类似6.0.417 [/usr/local/share/dotnet/sdk]的结果,记录下该路径。
2. 手动给OmniSharp指定SDK路径
OmniSharp可能未正确识别系统PATH,需手动配置:
- 打开VS Code设置(快捷键
Cmd+,) - 搜索
omnisharp.dotnetPath - 将值设置为你查到的SDK可执行文件路径,比如
/usr/local/share/dotnet/dotnet - 通过VS Code命令面板(
Cmd+Shift+P)执行OmniSharp: Restart OmniSharp重启服务
3. 匹配Unity与.NET SDK的版本
Unity脚本运行时版本不匹配也会引发问题:
- 打开Unity项目,进入
Edit > Project Settings > Player - 在
Other Settings中找到Scripting Runtime Version,选择与已安装.NET SDK对应的版本(例如.NET 6.x Equivalent) - 重启Unity和VS Code
4. 修复Mono与.NET的环境变量冲突
Mac上Mono的路径可能干扰.NET识别,执行以下命令调整环境变量:
echo 'export PATH="/usr/local/share/dotnet:$PATH"' >> ~/.zshrc source ~/.zshrc
若使用bash,将.zshrc替换为.bash_profile。重启终端后,运行dotnet --version确认能正常输出版本号。
5. 重置OmniSharp缓存
缓存异常可能导致识别错误:
- 通过VS Code命令面板打开
OmniSharp: Logs,找到缓存目录(通常为~/.omnisharp) - 关闭VS Code,删除该目录下所有文件
- 重新打开项目,让OmniSharp重新生成缓存
内容的提问来源于stack exchange,提问作者Moris Moysis
相关产品推荐
相关产品推荐

