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

如何在Windows上快速安装CentOS - 天行健君子以自强 - 博客园 (cnblogs.com)

posted @ 2023-08-20 19:50  天行健君子以自强  阅读(415)  评论(0编辑  收藏  举报