OmniSharp 错误:找到 dotnet 版本 5.0.201。所需的最低版本为 6.0.100

Mam*_*ver 28 omnisharp

我使用 VS Code 作为我的 IDE。今天,我在 C# 文件中看到我无法再使用“转到定义/实现”之类的内容或将鼠标悬停在任何内容上来获取路径/类型等。

我找到我的 Omnisharp 控制台并看到它们昨晚更新,但出现错误:

错误:找到 dotnet 版本 5.0.201。所需的最低版本是 6.0.100。

我无法升级我的 dotnet,因为 6.0 与我的项目中的运行时不兼容,并且在 Mac M1 上,运行多个 dotnet 实例会出现很多问题。

我想这有点困难,有人知道我该如何解决这个问题吗?

Pet*_*man 36

这是 Omnisharp 的最新更新,由 VS Code C# 扩展使用。将其添加到您的设置中并重新启动编辑器。

    "omnisharp.useModernNet": false,
    "omnisharp.path": "",
Run Code Online (Sandbox Code Playgroud)

此外,如果您没有安装 Visual Studio,您可能需要安装构建工具才能获取 MSBuild: 在此输入图像描述

我对这一更改背后的基本原理的理解是对现代普通 C# 项目相对于使用旧版本(即 Unity)的项目的优化。更多信息请参阅本期

  • 这确实应该是一个可以接受的答案,因为它清楚地指出了解决方案+背景信息。 (5认同)

CSh*_*arp 29

将 Omnisharp 恢复到以前的版本

在此输入图像描述

  • 哎呀!为什么有人要强迫我去搞乱这个?直到最后一次更新之前它都工作得很好。谢谢你!你的回答对我帮助很大。 (3认同)

Shi*_*hel 5

更新 1.25.0 引入了针对 .NET 6 的较新 OmniSharp 版本,它不支持非 SDK 样式 .NET 项目,但会带来性能改进。幸运的是,您可以在设置中禁用此功能:

C# 扩展设置

此外,C# 扩展不再附带 Mono 和 MSBuild 工具。在此处下载它们:构建工具 最坏的情况是,您可以恢复到较旧的扩展版本。


Abi*_*les 5

  1. 转到 VS Code 中的扩展并搜索 C# 扩展

VS 代码扩展

  1. 转到 C# 扩展设置

C# 扩展设置

  1. 禁用“使用现代网络”选项。

现代网络选项

  1. 重新启动 VS 代码