我尝试在Visual Studio Code中调试用.NET Core编写的应用程序时遇到问题。以下是设置:我正在使用运行Debian 9的虚拟机(使用默认GUI)。我安装了.Net Core SDK 2.1和Visual Studio Code 1.30.0。安装了C#1.17.1的扩展。我创建了简单的项目:
class MyProgram
{
static void Main(string[] args)
{
Console.WriteLine("Hello You Angel!");
ProcessStartInfo startInfo = new ProcessStartInfo() { FileName = "/bin/bash", Arguments = "-c nautilus /home/", };
Process proc = new Process() { StartInfo = startInfo, };
proc.Start();
}
}
如果我运行程序,执行,并产生正确的输出。在调试窗口中,我按下齿轮按钮编辑launch.jason
file
这是它的样子:
{
"version": "0.2.1",
"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}/HelloWorld/bin/Debug/netcoreapp2.1/HelloWorld.dll",
"args": [],
"cwd": "${workspaceFolder}/HelloWorld",
// For more information about the 'console' field, see https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md#console-terminal-window
"console": "integratedTerminal",
"stopAtEntry": false,
"internalConsoleOptions": "openOnSessionStart",
"externalConsole": false,
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
}
,]
}
当我点击绿色三角形按钮时,它没有击中断点。实际上我认为我执行的代码完全没有。是否有一些我缺少这个应用程序调试模式?
请帮忙!
我在不同的设置上遇到了同样的问题。使用VSCode和dotnet sdk 2.2运行Windows 10。
我通过gissues Here找到了一些答案。
和This one I think fixed my problem
当我被要求将调试器附加到进程时,我还注意到确保选择了正确的“c:/projectdir/bin/debug/projectname.dll”。
之后VSCode成功点击我的断点。
我希望这有帮助。
1)在终端进入你的项目并写
dotnet restore
dotnet clean
dotnet build
2)检查配置(launch.json)中“program”和“cwd”的路径。