C# VSCode中的DotNet core 3.0编译问题
我是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.jsonC# 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类型的调试适配器”。无论我
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