netcore3.1.101项目OmniSharp加载失败 无效版本无法启动服务咨询
报错现象
打开版本为3.1.101的.NET Core项目时,OmniSharp服务启动失败,抛出如下错误:
Error: Invalid OmniSharp version - omnisharp.path:latest
问题根因
该问题由两个不兼容问题叠加触发:
- 新版C#扩展(OmniSharp官方维护版本)移除了
omnisharp.path配置项的latest合法取值,旧配置残留会直接触发版本校验失败 - .NET Core 3.1属于旧版本框架,默认开启的Modern Net运行模式仅适配.NET 6+版本,会拉取不兼容的OmniSharp程序,进一步加剧版本校验冲突
修复步骤
- 清理错误配置:按下快捷键
Ctrl+,(macOS为Cmd+,)打开VS Code设置,搜索omnisharp.path,将当前配置的latest值清空,选择下拉菜单中的Automatic选项;如果项目根目录.vscode/settings.json中存在"omnisharp.path": "latest"配置行,直接删除该行后保存文件。 - 调整.NET 3.1兼容配置:在设置中搜索
omnisharp.useModernNet,将该配置项的值设为false,关闭仅支持新.NET版本的现代运行时模式;再搜索dotnet.server.useOmnisharp,确认该配置项为开启状态,避免C# Dev Kit扩展接管语言服务触发版本冲突。 - 清理损坏缓存:完全退出VS Code,找到对应系统下的OmniSharp缓存目录,删除目录下所有残留文件:
- Windows:
%USERPROFILE%\.vscode\extensions\ms-dotnettools.csharp-*\.omnisharp - macOS:
~/.vscode/extensions/ms-dotnettools.csharp-*/.omnisharp - Linux:
~/.vscode/extensions/ms-dotnettools.csharp-*/.omnisharp
- Windows:
- 重启验证:重新打开VS Code并加载对应.NET Core 3.1项目,等待扩展自动下载匹配版本的OmniSharp服务,不要手动中断下载流程。加载完成后查看输出面板的OmniSharp日志,出现
OmniSharp server started提示即代表修复完成。
内容的提问来源于stack exchange,提问作者alperoz
相关产品推荐
相关产品推荐


