我在尝试在 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文件这是它的样子:{ "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}" } ,]}我在项目中设置了断点:当我点击绿色三角形按钮时,它没有命中断点。实际上,我认为我根本没有执行任何代码。让这个应用程序进入调试模式我缺少什么吗?
3 回答
开满天机
TA贡献1786条经验 获得超13个赞
1)在终端去你的项目并写
dotnet restore
dotnet clean
dotnet build
2) 检查配置中“program”和“cwd”的路径(launch.json)。
繁星coding
TA贡献1797条经验 获得超4个赞
如果有人在将类库项目“转换”为控制台应用程序时遇到此问题,这里是我发现的症状和原因:
当我真正想要一个控制台应用程序时,我错误地创建了一个类库。我之前在 .NET Framework 项目中也犯过同样的错误,所以我想我会转换它,没问题。所以我改变了输出类型并给它一个启动对象。项目运行但没有命中断点。
我花了一段时间才找出原因;这是因为我将原始类库项目创建为 .NET 标准项目。当我创建一个与 .NET Core(而不是 .NET 标准)一样的新项目(相同的代码)时,会遇到断点。
非常有趣的是,您实际上可以将 .NET 标准类库项目切换到控制台应用程序,因为您似乎无法通过 UI 创建该设置。
- 3 回答
- 0 关注
- 351 浏览
添加回答
举报
0/150
提交
取消