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

OmniSharp.MSBuild报错尝试更新未加载的Unity项目,重装多版.NET SDK无效

报错根因定位

从给出的错误日志、csproj文件结构、项目路径特征,可直接锁定三类诱因,和独立安装的.NET SDK版本无直接关联,无需重复调整SDK安装版本:

  1. 当前使用的csproj文件结构残缺,缺少必要的编译依赖节点
  2. 项目路径包含非ASCII特殊字符,触发OmniSharp的路径解析错误
  3. OmniSharp未匹配到Unity内置的MSBuild运行时,导致项目初始加载失败后陷入更新死循环
分层解决方案
  • 修复残缺的csproj文件
    你当前贴出的csproj文件存在两处硬伤:
    • 缺少末尾闭合标签</Project>
    • 缺失Unity项目必需的程序集引用、MSBuild目标导入节点,无法被正常解析
      操作:打开Unity编辑器,依次进入Edit > Preferences > External Tools,点击Regenerate project files,等待生成完整的csproj文件,过程中不要手动修改自动生成的项目文件。
  • 调整项目存储路径
    你的项目路径包含带变音符号的非ASCII字符Programación,旧版OmniSharp的路径解析逻辑会将这类路径判定为无效路径,直接跳过加载流程。
    操作:将整个Unity项目文件夹移动到纯英文无特殊符号的路径下,例如C:\UnityProjects\FirstTutorial,确保路径中不存在任何变音字符、中文、空格。
  • 配置OmniSharp的MSBuild运行时路径
    独立安装的.NET SDK不会被OmniSharp自动识别为Unity项目的编译依赖,OmniSharp加载Unity 2020.3生成的非SDK风格csproj时,必须匹配Unity内置的Roslyn/MSBuild运行时。
    操作:
    1. 打开VS Code设置,启用omnisharp.msbuild.useLegacySdkResolver选项
    2. 新增配置项omnisharp.msbuild.externalPath,值填写本地Unity 2020.3安装目录下的Roslyn工具路径,例如C:\Program Files\Unity\Hub\Editor\2020.3.40f1\Editor\Data\Tools\Roslyn
  • 关闭OmniSharp自动更新死循环
    报错中Attempted to update project that is not loaded的触发逻辑是:项目初始加载失败后,OmniSharp持续触发项目更新请求,形成无限报错循环。
    操作:在VS Code的settings.json中新增配置"omnisharp.enableAutoUpdate": false,重启OmniSharp服务后重新打开项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.27 21:36:03