OmniSharp错误:发现dotnet版本5.0.201。最低要求版本为6.0.100。

28
我使用VS Code作为我的集成开发环境。今天,我发现在我的C#文件中无法再使用像“查看定义/实现”之类的功能,也无法悬停以获取路径/类型等信息。
我找到了Omnisharp控制台,并发现他们昨晚更新了,而且出现了错误:
错误:发现dotnet版本5.0.201。最低所需版本为6.0.100。
我不能升级我的dotnet,因为6.0与我的项目中运行时不兼容,而在Mac M1上,运行多个dotnet实例存在许多问题...
我想这有点棘手,有人知道我如何解决这个问题吗?

2
我将OmniSharp还原到之前的版本,它正常工作了。 - MambaForever
5个回答

36

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

    "omnisharp.useModernNet": false,
    "omnisharp.path": "",

如果您没有安装Visual Studio,则可能需要安装构建工具才能获取MSBuild: enter image description here 我理解这个更改的背后原因是针对现代纯c#项目的优化,而不是那些使用较旧版本(例如Unity)的项目。更多信息请参见此问题

5
此答案应当被接受,因为它清晰地指出了解决方案以及相关背景信息。 - Grimm
@Grimm 我认为对于那些没有安装VS2022的人来说,这实际上也不起作用。对我也不起作用。我没有安装构建工具的权限,但我需要做一些工作;-) - PandaWood
@PandaWood 你确定没有其他问题吗?上述错误是在Omnisharp VS Code C#扩展中出现的...我不认为这也属于VS。 - Grimm
@Grimm 是的,这就是问题所在。我已经安装了VS2019v16.3(预装.NET5),并且正在使用VSCode开发.NET5项目。这已经引起了omnisharp的警告,并需要一些特殊配置。但是当o# v1.25发布时,我突然什么也做不了 - 出现了与OP相同的错误。将omnisharp回滚到1.24可以解决问题。 - PandaWood

29

将Omnisharp还原到先前的版本

在此输入图片描述


3
天啊!为什么有人要强迫我搞这个?这个东西一直都好好的,直到最近的更新。谢谢你!您的回答帮了我很多。 - Devilhunter

5

5

更新1.25.0引入了新的OmniSharp构建工具,支持.NET 6,但不支持非SDK样式的.NET项目,但可以提高性能。

幸运的是,您可以在设置中禁用此功能:

C#扩展设置

此外,C#扩展不再附带包含的Mono和MSBuild工具。在此处下载它们:构建工具。如果最坏情况下,您可以还原到旧的扩展版本。


1
我有类似的问题,我是这样解决的:
我使用win7,拥有不支持dotnet 6的VS 2019 IDE,因此vs_installer无法安装dotnet6 sdk,结果我无法在vs code中使用c#扩展v1.25.0,因为omnisharp需要net6。我在win7上安装了net 6 sdk,问题得到解决,现在我可以在vs code中使用c#扩展v1.25.0。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接