VS调试WSL中的.NET应用
先决条件
- Visual Studio 2019 v16.9 预览版1或更高版本(通过WSL可选组件进行.NET调试)。若要检查 WSL 组件,请选择 “工具” > “获取工具和功能” 。 在 Visual Studio 安装程序中,选择 “单个组件”,然后键入 “WSL” 搜索安装组件 。
- 安装WSL。
- 安装分发版。
笔者本地环境: Visual Studio Professional 2022 17.7.1 + WSL2(CentOS7)。开始前,先创建一个名为 “WSLDemo” 的 Web API 项目。
一、使用WSL调试
1. 先选中调试下拉菜单中的 “WSL” 选项,如下:
2. 打开 launchSettings.json 文件,发现 “profiles” 块里多了一项 “WSL” 配置段,不过出现警告提示:
根据官方说明:从Visual Studio 2022 预览版 3 开始, launchSettings.json 中的 commandName 从 WSL2 更改为 WSL。可是改为WSL后,提示依然存在,看来不是这个问题。尝试启动调试也同样报错:
不知道是VS本身的bug还是其它什么原因,只好先行作罢。
二、附加到WSL进程调试
1. 把 “WSLDemo” 编译生成好的文件拷贝到WSL中,通过 “dotnet WSLDemo.dll” 命令启动:
2. 在Visual Studio上点击 “调试” > “附加到进程”,选择 “连接类型” 和 “连接目标” 以及要附加的进程。
然后,选择调试代码类型。
3. 输入地址 “http://localhost:5000/weatherforecast” 访问,发现程序断点已进入,说明这种调试方式是可以的!
参考资料
在 Linux 中使用 WSL 调试 .NET 应用 - Visual Studio (Windows) | Microsoft Learn
作者:天行健君子以自强
如果此文对你有帮助的话,请点一下右下角的【推荐】,欢迎评论区留言。本文已同步至作者微信公众号:玩转DotNet,感谢关注!