Depure seus aplicativos .NET Core no WSL 2 com Visual Studio

Você é um desenvolvedor .NET Core que gosta de trabalhar no Windows e Visual Studio, mas precisa testar seu aplicativo no Linux? Você é um desenvolvedor de plataforma cruzada que procura uma maneira fácil de testar mais ambientes de destino? Você já descobriu os benefícios do WSL 2, mas precisa de uma maneira de integrá-lo ao seu loop interno? Eu tenho uma extensão para você! O .NET Core Debugging Extension com WSL 2 - Preview oferece a capacidade de executar e depurar aplicativos .NET Core no WSL 2 sem sair do Visual Studio.







Quando você deve depurar no WSL 2?



Para um usuário Windows .NET centrado em Linux, o WSL 2 está no lugar certo entre o realismo de produção e o desempenho. No Visual Studio, você já pode depurar em um ambiente Linux remoto usando o depurador remoto ou com contêineres usando as ferramentas de contêiner . Quando o realismo da produção for sua principal preocupação, você deve usar um deles. Quando um loop interno simples e rápido é mais importante, WSL 2 é uma ótima opção.



Você não precisa escolher apenas um! Você pode ter um perfil de execução para Docker e WSL 2 no mesmo projeto e escolher aquele que se adequa a uma execução específica. E uma vez que seu aplicativo é implantado, você sempre pode usar o depurador remoto para se conectar a ele em caso de problema.


Introdução à depuração do .NET Core com WSL 2 - visualização



Certifique-se de instalar o WSL 2 e a distribuição de sua escolha antes de usar a extensão . Depois de instalar a extensão, ao abrir um aplicativo da web ASP.NET Core ou aplicativo de console do .NET Core no Visual Studio, você verá um novo perfil de inicialização chamado WSL 2:







Selecionar este perfil irá adicioná-lo ao arquivo launchSettings.json e terá a seguinte aparência:



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


Depois de escolher um novo perfil, a extensão verifica se sua distribuição WSL 2 está configurada para executar aplicativos .NET Core e ajuda a instalar quaisquer dependências ausentes. Depois que todas as dependências estiverem instaladas, você estará pronto para depurar no WSL 2. Basta iniciar a depuração normalmente e seu aplicativo será executado na distribuição WSL 2 padrão. Uma maneira fácil de verificar se você está executando o Linux é verificar o valor Environment.OSVersion.



Nota. Apenas Ubuntu e Debian foram testados e suportados. Outras distribuições com suporte do .NET Core devem funcionar, mas exigem a instalação manual do .NET Core Runtime e do Curl.


Usando uma distribuição específica



Por padrão, o perfil de inicialização WSL 2 usará a distribuição padrão definida em wsl.exe. Se quiser que seu perfil de lançamento tenha como alvo uma distribuição específica, independentemente do padrão, você pode alterar seu perfil de lançamento. Por exemplo, se você estiver depurando um aplicativo da web e quiser testá-lo no Ubuntu 20.04, seu perfil de inicialização seria assim:



"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"
}


Visando múltiplas distribuições



Indo ainda mais longe, se você estiver trabalhando em um aplicativo que precisa ser executado em várias distribuições e quiser uma maneira rápida de testar cada uma, pode ter vários perfis de inicialização. Por exemplo, se você precisa testar um aplicativo de console no Debian, Ubuntu 18.04 e Ubuntu 20.04, pode usar os seguintes perfis de inicialização:



"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"
}


Com esses perfis de inicialização, você pode alternar facilmente entre as distribuições de destino sem sair do ambiente confortável do Visual Studio:







Experimente hoje!



Portanto, se você gosta de trabalhar no Visual Studio, mas precisa testar seu aplicativo no Linux, vá para o Visual Studio Marketplace para instalar a extensão hoje. Use o marketplace para fazer perguntas ou comentários e para nos informar a utilidade dessa extensão.



All Articles