You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04环境Unity配合VS Code时OmniSharp C#无法工作

Kubuntu 22.04下Unity + VS Code IntelliSense失效修复方案

两个场景的报错核心原因有两个:一是Ubuntu官方源自带的Mono 6.8版本过旧,没有集成可用的MSBuild组件;二是Unity生成的C#工程面向.NET Framework,不支持用.NET 6版本的OmniSharp加载,必须用Mono运行时启动OmniSharp。
按以下步骤操作即可修复:

  • 先彻底卸载系统源安装的旧版Mono组件,终端执行以下命令:
sudo apt remove --purge mono-complete mono-* msbuild
sudo apt autoremove
  • 安装适配版本的Mono完整包,安装完成后终端执行msbuild -version,如果能正常输出版本信息,说明Mono侧的MSBuild组件已经可用,场景1的找不到MSBuild问题就解决了。注意不要使用Ubuntu 22.04官方源自带的Mono 6.8版本,该版本缺少Unity工程加载需要的完整MSBuild组件。
  • 打开VS Code的设置,切换到settings.json配置视图,添加/修改以下OmniSharp相关配置:
{
    "omnisharp.useModernNet": false,
    "omnisharp.monoPath": "/usr",
    "omnisharp.msbuildPath": "/usr/lib/mono/msbuild/Current/bin/MSBuild.dll",
    "omnisharp.projectLoadTimeout": 120
}

这里必须把omnisharp.useModernNet设为false,开启该选项会用.NET 6运行时启动OmniSharp,无法识别.NET Framework的引用程序集,就是场景2遇到的报错。

  • 回到Unity Editor,打开Edit > Preferences > External Tools配置页:
    • 外部脚本编辑器选择Visual Studio Code
    • 勾选下方所有Generate .csproj files for分类下的选项(包括本地包、内嵌包、注册表包等)
    • 点击Regenerate project files按钮,重新生成所有工程关联文件
  • 关闭所有打开该Unity工程的VS Code窗口,删除工程根目录下的.vscode文件夹,回到Unity双击任意C#脚本重新唤起VS Code,等待OmniSharp后台完成项目加载,IntelliSense就会正常工作。
  • 如果仍加载失败,终端执行echo $MONO_PATH检查环境变量,如果输出指向旧版本Mono的路径,删除对应shell配置文件里的MONO_PATH配置,重启系统后重试即可。

内容的提问来源于stack exchange,提问作者Anany Aadil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 07:15:33