使用VS Code调试.NET 8应用时遇指定ID进程未运行错误求助
解决VS Code调试.NET 8应用时附加进程报错“No process with the specified Id is running”的问题
你当前用的是附加调试模式,这种模式要求目标.NET进程已经处于运行状态,报错的核心原因就是你还没启动应用进程就直接按F5触发了附加操作。下面是具体解决方法:
方法一:手动启动进程再附加
启动应用进程
打开VS Code终端(快捷键Ctrl+),进入项目根目录,执行命令:dotnet run确保应用正常运行,不要关闭这个终端窗口。如果是Web应用,也可以用
dotnet watch run,方便后续修改代码自动重启。选择进程附加
进程启动后,回到VS Code按F5,此时会弹出进程选择列表,找到名称为dotnet(或者你的应用程序名称,比如发布后的exe文件名)的进程,选中确认即可。- Windows系统下如果有多个dotnet进程,可以通过进程的启动路径或端口号区分(比如Web应用看是否占用了你配置的端口)。
方法二:添加自动启动调试的配置
如果你不想手动启动进程,可以修改launch.json,添加一个launch类型的配置,按F5时自动构建并启动应用调试:
{ "version": "0.2.0", "configurations": [ { "name": ".NET Core Launch (web)", "type": "coreclr", "request": "launch", "preLaunchTask": "build", "program": "${workspaceFolder}/bin/Debug/net8.0/你的应用程序名称.dll", "args": [], "cwd": "${workspaceFolder}", "stopAtEntry": false, "serverReadyAction": { "action": "openExternally", "pattern": "\\bNow listening on:\\s+(https?://\\S+)" }, "env": { "ASPNETCORE_ENVIRONMENT": "Development" }, "sourceFileMap": { "/Views": "${workspaceFolder}/Views" } }, { "name": ".NET Core Attach", "type": "coreclr", "request": "attach", "processId": "${command:pickProcess}" } ] }
- 记得把
program字段里的你的应用程序名称.dll替换成你项目实际生成的DLL文件名。
其他排查点
- 确保VS Code安装了最新版的Microsoft C#扩展,旧版本对.NET 8的支持可能不完善。
- 先执行
dotnet build检查项目是否能正常编译,编译失败的话无法启动或附加进程。
内容的提问来源于stack exchange,提问作者abdou31
相关产品推荐
相关产品推荐

