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
相关产品推荐
相关产品推荐

