如何在Visual Studio 2022中开发部署并远程调试树莓派C#应用?
解决Visual Studio 2022远程调试树莓派.NET Core 8控制台应用的方案
一、修正launch.json远程调试配置
你的launch.json未正确指向远程环境,替换成以下配置(按需修改占位符):
{ "version": "0.2.0", "configurations": [ { "name": ".NET Core Remote Debug (Raspberry Pi)", "type": "coreclr", "request": "launch", "program": "/home/pi/your-app-dir/YourApp.dll", "args": [], "cwd": "/home/pi/your-app-dir", "stopAtEntry": true, "console": "internalConsole", "pipeTransport": { "pipeCwd": "${workspaceRoot}", "pipeProgram": "plink.exe", "pipeArgs": [ "-ssh", "-i", "C:\\Users\\YourWinUser\\.ssh\\id_rsa", "pi@192.168.x.x" ], "debuggerPath": "/usr/bin/vsdbg" }, "sourceFileMap": { "/home/pi/your-app-dir": "${workspaceRoot}/bin/Debug/net8.0/linux-arm" } } ] }
- 关键细节:
stopAtEntry设为true,调试直接停在启动代码第一行,解决启动代码无法调试的问题- 确保
plink.exe已加入系统PATH,且用密钥能免密登录树莓派(提前测试plink -ssh pi@你的IP) sourceFileMap必须精准映射本地编译输出目录到远程部署目录,否则断点失效
二、用Visual Studio内置部署替代手动scp脚本
右键项目→属性,完成以下配置:
- 调试选项卡:
- 调试目标选
.NET Core Remote - 填写树莓派IP、用户名(默认
pi),选择你的RSA密钥文件路径 - 设置远程工作目录(比如
/home/pi/your-app) - 勾选部署后启动调试和停止时关闭远程进程
- 调试目标选
- 生成选项卡:
确认<RuntimeIdentifier>为linux-arm,<SelfContained>设为false(树莓派已装运行时,无需打包整个运行时)
三、调试流程验证
- 确保树莓派SSH服务正常运行
- 直接按F5,Visual Studio会自动完成:编译→部署到树莓派→启动远程调试并停在启动代码
- 后续可正常设置断点、单步调试,和本地调试体验完全一致
内容的提问来源于stack exchange,提问作者Pete
相关产品推荐
相关产品推荐

