先保证vscode里的这几个设置勾上了
Prefer CSharp Extension: 如果没有这选项检查一下c#插件是否安装以及电脑上是否安装了 .net 的sdk
然后将这三个也勾上
vscode的输出窗口的OmniSharp 日志里显示下面类似的报错
Starting OmniSharp server at 2/11/2025, 9:36:24 AM
Target: c:\xxx\xxx\your_game.sln
OmniSharp server started with .NET xxxx (这里的数字指的是当前用的.net版本)
.
(下面这个path指的是当前软件目标要用的OmniSharp.dll的路径)
Path: c:\Users\tj\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\.omnisharp\1.39.12-net6.0\OmniSharp.dll
PID: 17872
[STDERR] Could not execute because the specified command or file was not found.(有时候可能是其他报错)
然后此时输出窗口切到c#
会展示类似这样的输出
这里一般是因为设置里设置里 Omnisharp:Use Modern Net 打了勾,然后尝试下载对应文件,但是下不下来
解决方案很简单,去 https://github.com/OmniSharp/omnisharp-roslyn/releases 这里找到想要用的版本的OmniSharp(其实一般最新的版本就行),点进去
然后根据个人需求下载压缩包,比如我是window系统,且用的是 .net 6.0,我要下的就是
下载好后,将压缩包里的所有东西都解压到之前 OmniSharp 日志 里 path 里指向的路径,比如我的例子里是
OmniSharp server started with .NET xxxx (这里的数字指的是当前用的.net版本)
.
Path: c:\Users\tj\.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64\.omnisharp\1.39.12-net6.0\OmniSharp.dll
PID: 17872
那我就将压缩包里所有的东西解压到 c:\Users\tj.vscode\extensions\ms-dotnettools.csharp-2.63.32-win32-x64.omnisharp\1.39.12-net6.0 的文件夹下面。
然后重启vscode就行