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

OmniSharp返回“No Symbol Found”后功能部分失效问题求助

问题排查:Unity 2021.3 + VSCode C#插件(v1.25.2)OmniSharp异常

问题现象

  • 启动VSCode后OmniSharp返回No Symbol Found错误
  • C#智能提示仅识别部分关键词,日志频繁出现Received response for '某操作' but could not find request类报错
  • 空白项目新脚本的void Update()中输入OnTriggerEnter2D时,提示The name 'OnTriggerEnter2D' does not exist in the current context [Assembly-CSharp]
  • 此前功能正常,近期执行过迁移项目到副硬盘、安装GitHub、更新Unity和C#插件等操作

OmniSharp日志摘要

Starting OmniSharp server at 05/01/2023, 6:08:15 pm
    Target: d:\Unity Projects\2023-1-5\2023-1-5.sln

OmniSharp server started.
    Path: c:\Users\Alex\.vscode\extensions\ms-dotnettools.csharp-1.25.2-win32-x64\.omnisharp\1.39.2\OmniSharp.exe
    PID: 19916

[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Registered MSBuild instance: Visual Studio Build Tools 2022 17.4.33205.214 17.4.1 - "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin"
[info]: OmniSharp.MSBuild.ProjectManager
        Successfully loaded project file 'd:\Unity Projects\2023-1-5\Assembly-CSharp.csproj'.
Received response for /v2/getcodeactions but could not find request.
[warn]: OmniSharp.Roslyn.CSharp.Services.Navigation.FindUsagesService
        No symbol found. File: d:\Unity Projects\2023-1-5\Assets\NewBehaviourScript.cs, Line: 15, Column: 13.
Received response for /quickinfo but could not find request.

已尝试的无效操作

  • 重启电脑
  • 重装Unity、VSCode及C#插件
  • 重新生成Unity项目文件
  • 重装VSCode
  • 确认安装.NET框架和SDK

针对性解决方案

1. 强制OmniSharp使用Unity自带的MSBuild

Unity 2021.3依赖.NET Framework 4.7.1,VS2022的MSBuild存在兼容性问题,需指定Unity内置的MSBuild路径:

  • 打开VSCode设置(快捷键Ctrl+,)
  • 搜索omnisharp.msbuild.path
  • 输入Unity安装目录下的MSBuild路径,示例:D:\Unity\2021.3.16f1\Editor\Data\Tools\MSBuild\Current\Bin\MSBuild.exe
  • 重启VSCode,等待OmniSharp重新加载

2. 禁用OmniSharp现代.NET支持

Unity基于传统.NET Framework,无需启用.NET Core/.NET 5+支持:

  • 在VSCode设置中搜索omnisharp.useModernNet
  • 将该选项设置为false
  • 重启OmniSharp(命令面板执行OmniSharp: Restart OmniSharp)

3. 彻底清理OmniSharp缓存

缓存损坏可能导致请求匹配失败:

  • 关闭VSCode
  • 删除缓存目录:C:\Users\Alex\.omnisharp
  • 重新打开项目,让OmniSharp重新生成缓存

4. 修复项目路径关联

迁移目录后项目文件路径可能失效:

  • 打开Unity编辑器,进入Edit > Preferences > External Tools
  • 确认External Script Editor选择的是Visual Studio Code
  • 点击Regenerate project files,等待生成完成后重启VSCode

5. 确认.NET Framework 4.7.1开发包安装

确保安装的是**开发包(Developer Pack)**而非仅运行时:

  • 打开控制面板程序和功能
  • 查找.NET Framework 4.7.1 Developer Pack,若未安装则下载安装对应版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 06:15:36