Omnisharp服务器未在Windows 10上运行。

23

我正在使用VS Code尝试一下ASP.NET,但当我尝试执行: dnu restore时,它失败了。

如果我在VS Code中尝试执行它,我会收到一个错误消息:Omnisharp服务器未运行。

我真的不知道该怎么办:( 我正在运行Windows 10 x64


我进行了一个基本的网络搜索,搜索关键字是“启动Omnisharp服务器”,并且在我所点击的第一个结果中就找到了答案。您有过任何研究吗?迄今为止您尝试过什么? - mason
是的?我只能找到针对OSX的东西。 - Anne Douwe
你有没有尝试查看GitHub上的Omnisharp代码库以了解它们的文档? - mason
我找不到关于如何在Windows上启动服务器的任何信息。 - Anne Douwe
有一个大而粗的标题“Windows”,下面写着“手动启动Omnisharp服务器”,然后描述了如何操作。 - mason
我知道,但这是手动启动的。不过我相信 Omnisharp 是与 VS Code 捆绑在一起的吧? - Anne Douwe
11个回答

21

尝试了几乎所有方法(重置设置,重新安装 VS Code)都没有效果。最终我将 VS Code C# 扩展从 1.25.0 降级到 1.24.4,结果它可以完美工作。


如何降级VS Code C#扩展? - Wasiqul Islam
1
@WasiqulIslam 在市场中右键单击扩展,然后点击类似于“安装特定版本”的选项。 - Liam Kernighan

12

检查 VS Code Omnisharp 日志, 按下 Ctrl + Shift + U.

Omnisharp 服务器未运行 错误可能是由于 project.json 中的问题,导致使用 dnu restore 时出现问题。例如:为一个目标框架解决包时有问题吗?

虽然可能没有用,但可以尝试重启 Omnisharp:按下 F1 输入 "omni restart"

C# 支持并未捆绑在内,但似乎您已成功安装它。否则,请按下 F1 输入 "ext install",Enter,"C#" 来添加 C#。

您说得对,确实缺少文档。


3
Visual Studio Code内置了Omnisharp。然而,这并不意味着您不需要安装ASP.NET 5和DNX。
请按照此指南中的说明进行操作:https://code.visualstudio.com/Docs/runtimes/ASPnet5 具体来说,您需要遵循以下说明:https://github.com/aspnet/home#upgrading-dnvm-or-running-without-visual-studio 请记住,Visual Studio是功能齐全的IDE,安装了您所需的一切。Visual Studio Code是基于Node的轻量级编辑器,只有您明确安装/添加的内容。因此,与Visual Studio不同,它不会自动下载ASP.NET 5和DNX。

3

如果世界还存在,那么在2022年及以后,另一个可能的解决方案是:

  1. 打开 VSCode 首选项 --> 设置
  2. 搜索 "Use Modern Net"
  3. 禁用 "Omnisharp: Use Modern Net"
  4. 重新启动 VSCode
  5. (可选) 检查 "输出(output)" 窗口 (选择 C# 或 Omnisharp)
  6. 成功(或心灵被碾压的失望)

阅读 "Use Modern Net" 选项的设置提示,看看它是否适用于您的情况。如果您正在使用 >= 此设置所适用版本,则可能发生其他问题...此时我建议查看 VSCode 底部的 "输出(output)" 窗口,并选择 C# 和/或 Omnisharp,以查看调试目的下它抛出的错误信息。希望这可以帮助!


2
我按照以下步骤解决了这个问题:
  1. 进入VSCODE -> 文件 -> 首选项 -> 设置
  2. 在搜索框中输入“omnisharp”
  3. 取消勾选“Omnisharp: Auto Start”复选框
  4. 重新启动VSCODE
  5. 按下ctrl + shift + p,显示命令框并查找“Omnisharp: restart omnisharp”
现在,您可以使用“.Net:生成用于构建和调试的资源”。

谢谢!我只需要在命令面板中选择“OmniSharp: Restart OmniSharp”即可。 - Stephen Pham

1

大部分新的Omnisharp服务器问题都是由于您过时的.NET版本引起的。我将.NET 5升级到.NET 6.0,现在它运行得很好!

通过在终端中输入“dotnet --version”来检查您当前的版本。 并从以下链接下载.NET 6。


1

1
我完全卸载了C#扩展程序。重新安装并将Omnisharp超时时间更改为15秒(最初为60秒)。效果非常好。

1

我安装了最新的.NET SDK,并重新启动了VScode。问题已经解决了。我非常希望能够和你一起完成这个项目。


0

按下 F1 键或 Ctrl+Shift+P 打开输入命令的文本框。然后输入 OmniSharp 服务器,并选择“重启 OmniSharp 服务器”选项。

你可以在窗口左下角查看其状态,若要查看该进程状态,则需单击它,信息将在终端上显示。


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