使用Visual Studio在WSL 2中调试.NET Core应用

您是喜欢在Windows和Visual Studio上工作但需要在Linux上测试您的应用程序的.NET Core开发人员吗?您是否是跨平台开发人员,正在寻找一种测试更多目标环境的简便方法?您是否已经发现WSL 2的好处,但是需要一种将其集成到内部循环中的方法?我有一个扩展给您!带有WSL 2.NET Core调试扩展-预览使您能够在WSL 2中运行和调试.NET Core应用程序,而无需离开Visual Studio。







什么时候应该在WSL 2中进行调试?



对于专注于Linux的Windows .NET用户而言,WSL 2处于生产实际性和性能之间的正确位置。在Visual Studio中,您已经可以使用Remote Debugger在远程Linux环境中进行调试,也可以使用Container Tools在容器中进行调试。当生产现实是您的主要关注点时,您应该使用其中之一。当简单快速的内部循环更为重要时,WSL 2是一个不错的选择。



您不必只选择一个!您可以在同一项目中拥有Docker和WSL 2的运行配置文件,然后选择适合特定运行的配置文件。一旦部署了应用程序,就可以在出现问题时始终使用远程调试器连接到它。


WSL 2的.NET Core调试入门-预览



使用扩展程序之前,请确保安装WSL 2和您选择的发行版安装扩展程序后,当在Visual Studio中打开ASP.NET Core Web应用程序或.NET Core控制台应用程序时,您将看到一个名为WSL 2的新启动配置文件。







选择此配置文件会将其添加到launchSettings.json文件中,如下所示:



"WSL 2": {
    "commandName": "WSL2",
    "launchBrowser": true,
    "launchUrl": "https://localhost:5001",
    "environmentVariables": {
        "ASPNETCORE_URLS": "https://localhost:5001;http://localhost:5000",
        "ASPNETCORE_ENVIRONMENT": "Development"
    },
    "distributionName": ""
}


选择新的配置文件后,该扩展程序将检查WSL 2发行版是否配置为运行.NET Core应用程序,并帮助您安装所有缺少的依赖项。一旦安装了所有依赖项,就可以在WSL 2中进行调试了。只需照常开始调试,您的应用程序现在就可以在默认的WSL 2发行版上运行。确保您正在运行Linux的一种简单方法是检查Environment.OSVersion值。



注意。仅Ubuntu和Debian被测试和支持。.NET Core支持的其他发行版也可以使用,但是需要手动安装.NET Core Runtime和Curl。


使用特定的发行版



默认情况下,WSL 2启动配置文件将使用wsl.exe中设置的默认分发。如果您希望启动配置文件以特定的发行版为目标,则无论默认设置如何,都可以更改启动配置文件。例如,如果要调试Web应用程序并想在Ubuntu 20.04上对其进行测试,则启动配置文件将如下所示:



"WSL 2": {
    "commandName": "WSL2",
    "launchBrowser": true,
    "launchUrl": "https://localhost:5001",
    "environmentVariables": {
        "ASPNETCORE_URLS": "https://localhost:5001;http://localhost:5000",
        "ASPNETCORE_ENVIRONMENT": "Development"
    },
    "distributionName": "Ubuntu-20.04"
}


定位多个分布



更进一步,如果您正在开发一个需要在多个发行版上运行的应用程序,并且想要一种快速的方法来测试每个发行版,则可能会有多个启动配置文件。例如,如果您需要在Debian,Ubuntu 18.04和Ubuntu 20.04上测试控制台应用程序,则可以使用以下启动配置文件:



"WSL 2 : Debian": {
    "commandName": "WSL2",
    "distributionName": "Debian"
},
"WSL 2 : Ubuntu 18.04": {
    "commandName": "WSL2",
    "distributionName": "Ubuntu-18.04"
},
"WSL 2 : Ubuntu 20.04": {
    "commandName": "WSL2",
    "distributionName": "Ubuntu-20.04"
}


使用这些启动配置文件,您可以轻松地在目标发行版之间进行切换,而无需离开舒适的Visual Studio环境:







立即尝试!



因此,如果您喜欢在Visual Studio中工作,但需要在Linux上测试您的应用程序,请立即去Visual Studio Marketplace安装扩展。请使用市场询问任何问题或反馈,并让我们知道此扩展的实用性。



All Articles