首页 > 解决方案 > 如何使用带有 WSL 2 的 Visual Studio 调试我的 .NET Core 单元测试?

问题描述

使用 Visual Studio,我可以调试在 Windows 和 WSL 2 中运行的 .NET Core 应用程序。对于 WSL 2,我使用这个扩展。这工作正常。我还可以在 Windows 中调试我的单元测试。这也很好。但是,我不知道如何使用在 WSL 2 中运行的 Visual Studio 来调试我的单元测试。我希望有人可以帮助我并解释我如何不仅可以调试 WSL 2 中的控制台应用程序和 Web 应用程序,还可以调试我的单元测试. 请告诉我。

标签: visual-studio.net-corewindows-subsystem-for-linux.net-5wsl-2

解决方案


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 调试 - 问答


推荐阅读