VisualStudio Code C#调试器生成错误

3
我最近将我的VisualStudio Code升级到了最新版本,当我尝试调试csharp应用程序时出现了错误。我正在运行Windows 10(14393),使用的是vs code 1.23.1。我创建了一个MVC应用程序,使用的是dotnetcore2.0,几个月前创建时一切正常。但是,当我尝试运行调试时,会收到一条消息:“找不到命令'csharp.coreclrAdapterExecutableCommand'”。我可以通过在项目文件夹中运行“dotnet run”来执行该应用程序。
我尝试创建一个新的空控制台应用程序,只显示“hello world”,并且可以通过“dotnet run”运行,但是当我尝试调试时,会收到相同的消息。我能够成功运行构建任务。
我尝试研究了一下错误中提到的方法,但几乎没有找到任何有关它的信息。我认为omnisharp是csharp调试运行的解决方案,我查阅了相关文档。根据文档,它需要.net framework 4.6才能工作。我验证了我已经安装了每个.net framework的sdk和运行时。
通常我很擅长解决这种问题,这是我在stack上的第一篇帖子。我希望有人知道这是什么问题,这样我就可以继续前进了。
需要注意的是,我尝试了几次重新启动我的机器,甚至卸载/重新安装了vs code。下面是launch.json文件的示例。
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
    {
        "name": ".NET Core Launch (console)",
        "type": "coreclr",
        "request": "launch",
        "preLaunchTask": "build",
        "program": "${workspaceRoot}/helloworld/bin/Debug/netcoreapp2.0/helloworld.dll",
        "args": [],
        "cwd": "${workspaceRoot}",
        "stopAtEntry": false,
        "console": "internalConsole"
    }
]
}

此外,值得注意的是,我尝试了多次重启以及完全卸载和重新安装VS Code。 - RobFord
看起来这可能是一个OmniSharp和/或VsCode的bug。从这个GitHub问题中,解决方法是打开项目并打开一个.cs文件,以便让Vs Code正确下载扩展依赖项。 - bman7716
可能是您使用的文件夹或帐户权限问题吗?需要调试并获取管理员访问权限。 - boateng
@bman7716,你提供的链接帮助我找到了解决方案。虽然情况不完全相同,但它确实有所帮助。我会在另一篇帖子中发布答案,以便更容易被看到。 - RobFord
1个回答

4
感谢 @bman7716 的帮助,我终于弄清了问题所在。问题是 omnisharp 扩展程序已损坏(或其相关依赖项)。 我通过以下步骤解决了该问题:
  • 从 VS Code 中卸载 c# 扩展程序
  • 关闭 VS Code
  • 删除所有 C:\Users{username}.vscode\extensions\ms-vscode.csharp-{version}
  • 打开 VS Code
  • 安装 C# 扩展程序
  • 打开项目
  • 进入调试模式并启动调试
这强制 VS Code 重新安装 omnisharp 和其依赖项,之后一切正常。

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