关于 dotnet 版本的 Omnisharp 错误 - Unity

Omnisharp error about dotnet version - Unity

今天 VSCode 发布时我收到此错误:

Starting OmniSharp server at 27/5/2022, 12:37:25
    Target: f:\UnityProjects\MyGame.sln
[ERROR] Error: Found dotnet version 5.0.407. Minimum required version is 6.0.100.

我看到 omnisharp 有更新,但我真的不知道如何解决这个问题。 我已经通过新的 visual studio 安装安装了 dotnet 6.0 TLS...我还能做些什么来让 dotnet 与我的 Unity 项目一起工作?

如果您使用的是 C# 扩展 1.25.0,他们会在扩展的详细信息页面中宣布更改:

.NET Framework builds of OmniSharp no longer ship with Mono or the MSBuild tooling (See announcement omnisharp-roslyn#2339). To ensure that the C# extension remains usable out of the box for .NET SDK projects, we have changed the default value of omnisharp.useModernNet to true.

If you still need Unity or .NET Framework support, you can set omnisharp.useModernNet to false in your VS Code settings and restart OmniSharp.

omnisharp.useModernNet 设置更改为 false 对我有用。

如果您使用 vscode 进行 Web 开发并且安装的 dotnet SDK 小于 6,这可能会有用。

一段时间后,我发现了 Ominisharp 日志警告这一点。

[ERROR] Error: Found dotnet version 3.1.419. Minimum required version is 6.0.100.

解决方案

安装 dotnet SDK 6 或替换当前版本。

如果您使用 Linux,我建议您使用 dotnet-install.sh 脚本安装它。

通过 运行 下面的命令将在安装当前版本的同时安装最新版本。

sudo ./dotnet-install.sh -c 6.0 --install-dir /usr/share/dotnet

~ » dotnet --list-sdks                                                                                                       
3.1.419 [/usr/share/dotnet/sdk]
6.0.300 [/usr/share/dotnet/sdk]