visual-studio - 如何使用带有 WSL 2 的 Visual Studio 调试我的 .NET Core 单元测试?
问题描述
使用 Visual Studio,我可以调试在 Windows 和 WSL 2 中运行的 .NET Core 应用程序。对于 WSL 2,我使用这个扩展。这工作正常。我还可以在 Windows 中调试我的单元测试。这也很好。但是,我不知道如何使用在 WSL 2 中运行的 Visual Studio 来调试我的单元测试。我希望有人可以帮助我并解释我如何不仅可以调试 WSL 2 中的控制台应用程序和 Web 应用程序,还可以调试我的单元测试. 请告诉我。
解决方案
2022 年 2 月更新 - VS 2022
在 win 10 开发机器上运行
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重启!
在开发机器上运行
wsl --set-default-version 2
wsl --install -d Ubuntu
在你的新 wsl 机器上运行
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt update && sudo apt upgrade -y
sudo apt install apt-transport-https git
sudo apt update && sudo apt install dotnet-sdk-6.0 -y
将 testenvironments.json 添加到您的解决方案根目录
{
"version": "1",
"environments": [
{
"name": "Ubuntu",
"type": "wsl",
"wslDistribution": "Ubuntu"
}
]
}
Visual Studio 将在测试资源管理器中显示一个新的下拉菜单,选择“Ubuntu”并运行或调试您的测试。
此设置不依赖于 Docker。Winver 显示“20h2”
老的
不支持使用“.NET Core Debugging with WSL 2”扩展来调试测试。
此工具不支持在 WSL2 中运行测试,但我知道我们的姊妹团队在他们的待办事项中启用了此功能! 使用 WSL 2 进行 .NET Core 调试 - 问答