C# VSCode中的DotNet core 3.0编译问题

C# VSCode中的DotNet core 3.0编译问题,c#,.net-core,visual-studio-code,vscode-debugger,C#,.net Core,Visual Studio Code,Vscode Debugger,我是DotnetCore和MS编程新手。随着微软新推出的更加平台中立的产品,我有兴趣尝试一下,看看它是否能按照承诺的方式工作。也就是说,我甚至无法从VSCode在windows上的DotNetCore上运行helloworld程序。在我的命令提示符和VisualStudio2019(我的mac的VS Studio for mac)上,一切似乎都很好。真正的压力似乎在Windows10的VSCode上。如果可以的话,我非常感谢你的帮助 我收到的错误是“找不到coreclr类型的调试适配器”。无论我

我是DotnetCore和MS编程新手。随着微软新推出的更加平台中立的产品,我有兴趣尝试一下,看看它是否能按照承诺的方式工作。也就是说,我甚至无法从VSCode在windows上的DotNetCore上运行helloworld程序。在我的命令提示符和VisualStudio2019(我的mac的VS Studio for mac)上,一切似乎都很好。真正的压力似乎在Windows10的VSCode上。如果可以的话,我非常感谢你的帮助

我收到的错误是“找不到coreclr类型的调试适配器”。无论我做什么,我最终都会犯这个错误。 1.已安装的Dotnet core 3.0 2.设置指向C:\Program Files\dotnet\sdk\3.0.100\sdk的MSBuildSDKsPath环境变量 3.重新启动机器的次数相同

什么都不管用。下面是示例代码以及我的launch.json

using System;

namespace OOPExample
{
    public struct Dimensions {
        public double Length { get; }
        public double Width { get; }

        public Dimensions(double length, double width) {
            Length = length;
            Width= width;
        }

        public double Diagonal => Math.Sqrt(Length * Length + Width * Width);
    }

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine($"Hello World - {new Dimensions(10.0, 15.0).Diagonal}");
        }
    }
}
这是我的launch.json

{
   // Use IntelliSense to find out which attributes exist for C# debugging
   // Use hover for the description of the existing attributes
   // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md
   "version": "0.2.0",
   "configurations": [
        {
            "name": ".NET Core Launch (console)",
            "type": "coreclr",
            "request": "launch",
            "preLaunchTask": "build",
            // If you have changed target frameworks, make sure to update the program path.
            "program": "${workspaceFolder}/bin/Debug/netcoreapp3.0/OOPExample.dll",
            "args": [],
            "cwd": "${workspaceFolder}",
            // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
            "console": "internalConsole",
            "stopAtEntry": false
        },
        {
            "name": ".NET Core Attach",
            "type": "coreclr",
            "request": "attach",
            "processId": "${command:pickProcess}"
        }
    ]
}
当我从命令提示符执行dotnet build和dotnet run时,一切都很好

dotnet构建:

C:\Users\Krishnan\Projects\DotNet\OOPExample> dotnet build
Microsoft (R) Build Engine version 16.3.0+0f4c62fea for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 12.86 ms for C:\Users\Krishnan\Projects\DotNet\OOPExample\OOPExample.csproj.
  OOPExample -> C:\Users\Krishnan\Projects\DotNet\OOPExample\bin\Debug\netcoreapp3.0\OOPExample.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:00.77
dotnet运行:

PS C:\Users\Krishnan\Projects\DotNet\OOPExample> dotnet run
Hello World - 18.027756377319946

如果你想知道我是如何创建这个项目的,它只不过是一个简单的
dotnet新控制台命令。所以没什么特别的

首先,确保您已经为vs代码安装了官方的Microsoft C#扩展。
然后,如果仍然没有运行,则您的
launch.json文件将出现问题。

当我尝试开始调试时,出现以下错误消息

找不到类型“coreclr”的调试适配器

如果下面的错误信息也出现了,就像我的例子一样,我建议你也考虑点击“开发者工具”,因为我认为你有很好的机会得到一个很好的提示。 “扩展主机意外终止”。

在上面的消息框中,我单击了“开发者工具”,然后我看到一些错误消息,其中包含一个字符串“kite”,这让我猜测,在我的例子中,这些错误消息可能来自我很久以前安装的扩展名“kite”。禁用此扩展并重新启动VS代码后,不会再次出现任何错误消息。(现在我不确定重启是否必要。)我不是说扩展风筝很麻烦。在您的情况下,问题可能来自其他扩展或扩展以外的其他扩展。我是说“开发者工具”可能是一个提示的金矿


我还有一个好消息。后来,这些错误消息甚至在启用此扩展“kite”之后也没有出现。我可以在不放弃此扩展的情况下开始调试。

也许这可以帮助出现此问题的人:在过去的一周中,我两次解决了此错误

首次卸载/重新安装OmniSharp C#扩展

第二次,将VSCode更新为最新版本


我还没有弄清楚这两件事是否相关,但我在OmniSharp或VSC发行说明中没有看到任何关于这一点的具体内容。

我收到了OPs错误消息,但只有在开发人员容器中使用带“.NET Core Launch(web)”配置的Run&Debug时:

找不到调试类型“coreclr”的调试适配器描述符(扩展可能无法激活)

我注意到在VS代码的输出选项卡中,C#控制台上有以下额外的输出:

Installing C# dependencies...
Platform: linux, x86_64, name=ubuntu, version=20.04

Downloading package 'OmniSharp for Linux (x64)'
Retrying from 'https://roslynomnisharp.blob.core.windows.net/releases/1.37.8/omnisharp-linux-x64-1.37.8.zip'
Failed at stage: downloadPackage
Error: Failed to establish a socket connection to proxies: ["PROXY 127.0.0.1:8118"]
Dev容器似乎从主机获取
HTTP\u PROXY
HTTPS\u PROXY
环境变量,但作为来宾容器,其127.0.0.1地址不同于主机的127.0.0.1地址

我通过Windows暂停>高级系统设置>高级>环境变量…>主机的“公共”IP地址从
ipconfig/all
返回,例如:

  • HTTP_代理=
  • HTTPS\u代理=

然后关闭并重新打开VS代码,Run&Debug现在在Dev容器中按预期工作。

我遇到了同样的问题,我刚刚从dotnet卸载了Omnisharp和所有扩展,关闭VS代码并重新打开它,然后重新安装所有内容(包Omnisharp)。现在一切正常


让我注册的Linux Ubuntu 20.04也是如此。

VSCode C#扩展需要从internet下载几个位,而且在这台机器上这些下载似乎失败了。你安装了omnisharp吗?这是推荐的用于Visual Studio代码(由omnisharp提供动力)的扩展名“C#”,我安装了它。顺便说一句,正如我所说,我对Ubuntu或Mac没有任何问题,这个问题只存在于Windows上10@LexLi我知道有些下载失败了。问题是它是哪一个以及如何修复它。您可能会从中得到一些想法。“C#for Visual Studio代码(由OmniSharp提供支持)”是推荐的扩展。它已经安装好了。如果有其他扩展我需要安装,让我知道为我工作!我必须首先卸载.NETCoreTestExplorer(它依赖于OmniSharpC#扩展),然后卸载您提到的。谢谢@Paully