Este documento apresenta um resumo sobre .NET na prática, incluindo preparação do ambiente, o que é .NET, o que é C#, o que é Docker e Docker Compose, e debug de aplicações .NET. Os principais pontos apresentados são:
1) Preparar o ambiente de desenvolvimento com a instalação do WSL 2, Docker Desktop, .NET SDK, Visual Studio Code e extensões;
2) .NET é uma plataforma multiplataforma, gratuita e de código aberto para desenvolvimento de software;
3) C# é uma linguagem de
2. Nossa agenda
#1 Preparando o nosso ambiente
#2 O que é o .Net?
#3 O que é o C#?
#4 O que é o Docker?
#5 O que é o Docker compose?
#6 Debugando nossa aplicação .NET
5. Instale o WSL 2 no Windows # https://bit.ly/3rugV0l
➔ O WSL 2 (subsistema do Windows para o Linux) irá permitir que possamos utilizar um Kernel
completo do Linux dentro do Windows.
➔ O WSL 2 é compatível com versão não profissionais do Windows, como o Windows Home, e isto nos
permite instalar e configurar o Docker Desktop nesta versão do Windows.
➔ Além de todas estas vantagens o WSL 2 é a melhor alternativa para entender o comportamento
das suas aplicações no Linux.
Preparando o nosso ambiente
6. Instale o Docker Desktop # https://dockr.ly/3nF2Mw6
➔ O Docker Desktop irá nos auxiliar na execução de containers Linux em sistemas operacionais
Windows, macOS e Linux.
➔ Utilizando o Docker Desktop no Windows e macOS você terá uma experiência semelhante a
execução de container no Linux.
➔ Para executar o Docker Desktop em plataformas Windows e macOS provavelmente você deverá
habilitar um Hypervisor (Vmware, Virtualbox ou Hyper-v).
➔ Se você estiver no Windows um dica é utilizar o WSL 2, não esquece de ativar a integração nas
configurações do Docker Desktop.
Preparando o nosso ambiente
7. Preparando o nosso ambiente
Instale o .NET SDK # https://bit.ly/33vJORO
➔ O .NET SDK contém todas as bibliotecas necessárias para o desenvolvimento de uma aplicação /
software utilizando a plataforma .NET.
➔ Já o .NET Runtime será utilizado somente para EXECUTAR uma versão compilada da nossa
aplicação.
➔ Na data de acontecimento deste evento estamos utilizando o .NET 6, você pode utilizar uma
versão superior desde que ela mantenha contabilidade com as funcionalidades que iremos utilizar.
8. Instale o Visual Studio Code # https://bit.ly/3AhV4gS
➔ Um editor de código poderoso, open source e executado nos mais diversos sistemas operacionais
como, macOS, Linux e Windows.
➔ Ele é um dos editores de códigos mais utilizados no mundo, permite a utilização de diversas
linguagens de programação.
➔ Não é o mesmo que o Visual Studio. O Visual Studio é dedicado para construção de aplicações com
.NET Full Framework, C/C++, C# e F#.
Preparando o nosso ambiente
9. Preparando o nosso ambiente
Instale as seguintes extensões no Visual Studio Code
➔ Instale as seguintes extensões no Visual Studio Code para padronização do nosso ambiente:
➢ C# - csharp # https://bit.ly/3IkNcOo
➢ Docker # https://bit.ly/3FIIQ1C
➢ Remote WSL # https://bit.ly/3fFMRJH
➢ Remote Containers # https://bit.ly/3GLACai
10. Preparando o nosso ambiente
Acesse o Visual Studio Code no WSL 2 e reinstale estas extensões (você
terá que desinstalar e reinstalar as extensões)
➔ Instale as seguintes extensões no Visual Studio Code para padronização do nosso ambiente:
➢ C# - csharp # https://bit.ly/3IkNcOo
➢ Docker # https://bit.ly/3FIIQ1C
➢ Remote WSL # https://bit.ly/3fFMRJH
➢ Remote Containers # https://bit.ly/3GLACai
12. 1. Verificar a integração do Docker com o WSL 2
2. Verificar a instalação do WSL 2 (somente no windows)
3. Verificar a instalação do Docker
4. Verificar a instalação do Docker Compose
5. Verificar a instalação do .NET SDK
6. Confiar no certificado de desenvolvimento da Microsoft
7. Instalar o .NET no WSL 2
8. Confiar no certificado de desenvolvimento do Windows no WSL 2
DEMO #1 - AGENDA
13. 1. Verificar a integração do Docker com o WSL 2
- Abra o Docker Desktop
- Acesse as configurações para verificar a integração com o WSL 2
Preparando o nosso ambiente
DEMO #1
14. 2. Verificar a instalação do WSL 2 (somente no windows)
Abra o seu terminal e digite o(s) seguinte(s) comando(s):
$ wsl –-set-default-version 2 # define do wsl 2 como padrão
$ wsl –-set-default Ubuntu # define a distro do Ubuntu como padrão
$ wslconfig /setdefault Ubuntu # define a distro do Ubuntu como padrão
$ wsl -l -v # verifica a versão do wsl e distro instalada
Preparando o nosso ambiente
DEMO #1
15. 3. Verificar a instalação do Docker
Abra o seu terminal e digite o(s) seguinte(s) comando(s):
$ docker --version
Preparando o nosso ambiente
DEMO #1
16. 4. Verificar a instalação do Docker Compose
Abra o seu terminal e digite o(s) seguinte(s) comando(s):
$ docker-compose --version
Preparando o nosso ambiente
DEMO #1
17. 5. Verificar a instalação do .NET SDK
Abra o seu terminal e digite o(s) seguinte(s) comando(s):
$ dotnet –-version
$ dotnet –-list-sdks
$ dotnet –-list-runtimes
Preparando o nosso ambiente
DEMO #1
18. 6. Confiar no certificado de desenvolvimento da Microsoft
$ dotnet dev-certs https --clean # limpar os certificados
$ dotnet dev-certs https --trust # confiar nos certificados do desenvolvedor
$ WINDOWS:
PS: dotnet dev-certs https -ep $env:USERPROFILE.aspnethttpsaspnetcore.pfx -p password --trust
CMD: dotnet dev-certs https -ep %USERPROFILE%.aspnethttpsaspnetcore.pfx -p password --trust
$ macOS ou Linux:
dotnet dev-certs https -ep ${HOME}/.aspnet/https/aspnetcore.pfx -p password
Preparando o nosso ambiente
DEMO #2
19. 7. Instalar o .NET no WSL 2 # https://bit.ly/3ryujAB
Abra o seu terminal e digite o(s) seguinte(s) comando(s):
$ wsl # entrar no WSL
$ wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O
packages-microsoft-prod.deb # pacotes
$ sudo dpkg -i packages-microsoft-prod.deb # instalar os pacotes
$ rm packages-microsoft-prod.deb # excluir o arquivo de pacotes
$ sudo apt update -y && sudo apt install -y apt-transport-https # atualizar o SO e instalar o transporte de https
$ sudo apt update -y && sudo apt upgrade -y && sudo apt autoremove --purge # fazer o upgrade dos modulos
$ sudo apt install -y dotnet-sdk-6.0 # instalar o sdk do dotnet
$ sudo apt install -y aspnetcore-runtime-6.0 # instalar o runtime do aspnet
$ sudo apt install -y dotnet-runtime-6.0 # instalar o runtime do dotnet
Preparando o nosso ambiente
DEMO #1
20. 8. Confiar no certificado de desenvolvimento do Windows no WSL 2
Abra o seu terminal e digite o(s) seguinte(s) comando(s):
$ wsl # entrar no WSL
$ sudo cp /mnt/c/<SEU_USUARIO_AQUI>/.aspnet/https/aspnetcore.pfx ~/.aspnet/https # copiar certificado
$ dotnet dev-certs https --clean # limpar a confiança nos certificados de desenvolvimento
$ dotnet dev-certs https --clean --import ~/.aspnet/https/aspnetcore.pfx -p password # importar o certificado
Preparando o nosso ambiente
DEMO #1
22. .NET
➔ É uma plataforma de desenvolvimento de software que possibilita a instalação de versões
diferentes na mesma máquina (side-by-side):
➔ Gratuita
Não há custos para desenvolvimento de software, seja ele para uso pessoal ou para uso comercial.
➔ Multiplataforma
Você pode desenvolver ou executar o seu software nos principais sistemas operacionais disponíveis no mercado
como Windows, Linux e macOS.
➔ Código aberto
É mantido pela Microsoft e aceita contribuição desde que aprovadas pelos mantenedores.
O que é o .NET?
23. .NET Framework, .NET Core, .NET 5 (ou superior)
Vamos entender as diferenças entre estas versões:
➔ .NET Framework
Disponível apenas para o sistema operacional Windows e sua última versão foi a 4.X.
➔ .NET Core
É multiplataforma, suportado em Windows, Linux e macOS, construído principalmente para competir no
desenvolvimento de Sites e Apis com frameworks como o NodeJs.
➔ .NET 5 (ou superior)
É multiplataforma, responsável pela junção das funcionalidades do .NET 4.X e do .NET Framework e mantém uma
boa compatibilidade (não é 100%) com o .NET Core.
O que é o .NET?
27. DEMO #2 - AGENDA
1. Criando o arquivo que define a versão do SDK para o nosso projeto
2. Criando a nossa Web Api com .NET
3. Criando o arquivo de Solução para o nosso projeto
4. Adicionando o Projeto de Web Api para a nossa Solução
5. Alterando a rota da nossa Web Api
6. Alterando as portas de execução da Web Api
7. Fazendo o build da nossa Web Api
8. Executando a nossa Web Api no Windows
9. Testando a nossa Web Api com o Postman
10. Executando a nossa Web Api no WSL 2
28. 1. Criando arquivos de configuração do SDK e do Editor
# A versão do .NET deve ser igual ou superior a versão 5.0
$ cd <diretorio_raiz_do_seu_projeto>
$ dotnet new globaljson --sdk-version 6.0.* --force
$ dotnet new editorconfig --force
O que é o .NET?
DEMO #2
29. 2. Criando a nossa Web Api com .NET
# Criando a nossa api na pasta src/
$ cd <diretorio_raiz_do_seu_projeto>
$ dotnet new webapi --force --name DotnetDebugDockerContainerWebApi --output src/
O que é o .NET?
DEMO #2
30. 3. Criando o arquivo de Solução para o nosso projeto
# o arquivo de solução ajuda a agrupar rotinas de build e etc
$ cd <diretorio_raiz_do_seu_projeto>
$ dotnet new sln --force --name DotnetDebugDockerContainerWebApi --output .
O que é o .NET?
DEMO #2
31. 4. Adicionando o Projeto de Web Api para a nossa Solução
$ cd <diretorio_raiz_do_seu_projeto>
$ dotnet sln DotnetDebugDockerContainerWebApi.sln add src/
O que é o .NET?
DEMO #2
32. 5. Alterando a rota da nossa Web Api:
# iremos alterar a rota para ficar mais simples a chamada
- Abra o arquivo WeatherForecastController.cs
- Altere a rota do para o seguinte:
[Route("api/weather")]
O que é o .NET?
DEMO #2
33. 6. Alterando as portas de execução da Web Api
# iremos alterar as portas de execução da aplicação para ficar mais simples a chamada
- Abra o arquivo PropertieslaunchSettings.json
- Altere o campo applicationUrl para o seguinte:
"applicationUrl": "https://localhost:5001;http://localhost:5000"
O que é o .NET?
DEMO #2
34. 7. Fazendo o build da nossa Web Api
$ cd <diretorio_raiz_do_seu_projeto>
$ dotnet build
O que é o .NET?
DEMO #2
35. 8. Executando a nossa Web Api no Windows
$ cd <diretorio_raiz_do_seu_projeto>
$ dotnet run --project src/
O que é o .NET?
DEMO #2
36. 9. Testando a nossa Web Api com o Postman:
- Abra o Postman
- Adicione um Request do tipo GET com a seguinte url: https://localhost:5001/api/weather
O que é o .NET?
DEMO #2
37. 10. Executando a nossa Web Api no WSL 2
- Para a execução da nossa Web Api no Windows e digite os comandos abaixo no Terminal:
$ wsl
$ cd /mnt/c/<SUA_PASTA_DO_PROJETO_AQUI>/dotnet-debug-docker-container-webapi
$ dotnet run –-project src/
- Abra o Postman
- Adicione um Request do tipo GET com a seguinte url: https://localhost:5001/api/weather
O que é o .NET?
DEMO #2
39. O que é o C#?
C# ou csharp (pronúncia-se "See Sharp")
➔ É uma linguagem de programação fortemente tipada, quer dizer, você precisa declarar o tipo de
todas as coisas antes da sua compilação.
➔ É uma linguagem de programação orientada a objetos, quer dizer, utiliza a aproximação e/ou
representação do mundo real para o mundo virtual.
➔ É uma linguagem case-sensitive, quer dizer, faz diferenciação entre letras maiúsculas e
minúsculas.
➔ É uma linguagem executada no CLR (runtime), quer dizer, pode ser executada em qualquer das
implementações do CLR como Mono, .NET Framework, .NET Core e .NET 5 ou superior.
40. O que é o C#?
Versões disponíveis da linguagem
https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/compiler-options/language#langversion
41. O que é o C#?
Versão da linguagem utilizada com base no framework alvo
https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/compiler-options/language#langversion
42. Ranking do C# vs Outras linguagens: (TIOBE Index)
O que é o C#?
https://www.tiobe.com/tiobe-index/
43. Ranking do C# vs Outras linguagens: (PYPL Index)
O que é o C#?
https://pypl.github.io/PYPL.html
44. Ranking do C# vs Outras linguagens: (STACKOVERFLOW Survey)
O que é o C#?
https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language-prof
45. Ranking do C# vs Outras linguagens: (IEEE Spectrum)
O que é o C#?
https://spectrum.ieee.org/top-programming-languages/
47. 1. Definir a versão da linguagem que iremos trabalhar no projeto
2. Retroceder uma versão da linguagem e executar o build
DEMO #3 - AGENDA
48. 1. Definir a versão da linguagem que iremos trabalhar no projeto
# iremos definir a linguagem de programação para o nosso projeto
- Abra o arquivo srcDotnetDebugDockerContainerWebApi.csproj
- Adicione a definição do grupo com suporte a linguagem neste arquivo:
(.NET5 e inferior utilize C# 9.0 ou inferior | .NET6 ou superior utilize C# 10.0 ou inferior)
DEMO #3
O que é o C#?
49. 2. Retroceder uma versão da linguagem e executar o build
- Abra o arquivo srcDotnetDebugDockerContainerWebApi.csproj
- Retroceda a versão da linguagem neste arquivo
- Execute o build do seu projeto
DEMO #3
O que é o C#?
51. O que é o Docker?
➔ A idéia principal do Docker é criar um ambiente isolado (container) dentro de uma máquina para
execução de uma aplicação.
➔ Este isolamento permite que você faça a portabilidade das suas aplicações (container) para outra
máquina que contenha o Docker instalado.
➔ O Docker permite que você execute aplicações diferentes dentro da mesma máquina sem que
haja um conflito entre elas, bem diferente do modelo de virtualização.
➔ No modelo de virtualização precisamos de muitos recursos pois nossas aplicações executam em
sistemas operacionais convidados, no Docker não existe esta necessidade de múltiplos sistemas
operacionais convidados.
➔ Para utilizar o Docker criamos um arquivo Dockerfile para o nosso projeto.
52. O que é o Docker?
Metal vs VM vs Container vs Container on VM
55. DEMO #4 - AGENDA
1. Ignorar arquivos e pastas
2. Criar o nosso arquivo Dockerfile
3. Construir, destruir e listar a imagem e o container da Web Api
4. Definir a imagem base que será utilizada para execução da Web Api
5. Adicionar os comandos de build para o container da Web Api
6. Adicionar os comandos de publish para o container da Web Api
7. Finalizar as configurações necessárias para a execução da Web Api
56. 1. Ignorar arquivos e pastas
Abra o seu terminal e digite o(s) seguinte(s) comando(s):
$ cd <diretorio_raiz_do_seu_projeto>
$ dotnet new gitignore --force # forçar a criação do .gitignore
$ cp .gitignore .dockerignore # fazendo uma cópia do .gitignore para o .dockerignore
O que é o Docker?
DEMO #4
57. 2. Criar o nosso arquivo Dockerfile
# iremos criar o nosso arquivo Dockerfile na raiz do diretório do projeto
- Abra a pasta raiz do seu projeto
- Crie o arquivo Dockerfile (não tem extensão para este arquivo)
O que é o Docker?
DEMO #4
58. 3. Construir, destruir e listar a imagem e o container da Web Api
# destruir um container
$ docker rm mercurianos_api --force
# destruir uma imagem
$ docker image rm images/mercurianos --force
# criar uma imagem (build)
$ docker build . --no-cache --tag images/mercurianos --force-rm
# criar um container (run)
$ docker run -d -p 8000:5000 -p 8001:5001 --name mercurianos_api images/mercurianos
# listar os containers
$ docker ps –a
O que é o Docker?
DEMO #4
59. 4. Definir a imagem base que será utilizada para execução da Web Api
Abra o seu arquivo Dockerfile e defina os seguintes comandos:
O que é o Docker?
DEMO #4
60. 5. Adicionar os comandos de build para o container da Web Api
Abra o seu arquivo Dockerfile e defina os seguintes comandos:
O que é o Docker?
DEMO #4
61. 6. Adicionar os comandos de publish para o container da Web Api
Abra o seu arquivo Dockerfile e defina os seguintes comandos:
O que é o Docker?
DEMO #4
62. 7. Finalizar as configurações necessárias para a execução da Web Api
Abra o seu arquivo Dockerfile e defina os seguintes comandos:
O que é o Docker?
DEMO #4
64. ➔ O Docker Compose permite que criemos nossa infraestrutura de containers como código através
do arquivo .yml ou .yaml.
➔ Com o Docker Compose podemos criar e executar múltiplos containers, definir variáveis de
ambiente e fazer o link de dependência entre os containers caso necessário.
➔ No final das contas, com um único comando conseguiremos construir e destruir toda a
infraestrutura de containers definida no nosso arquivo .yaml.
➔ Além de facilitar a construção da infraestrutura, o Docker Compose a contribuição para com o
projeto, visto que, toda a infraestrutura necessária para execução do projeto está neste arquivo e
com apenas uma linha de comando temos um ambiente funcionando.
O que é o Docker Compose?
67. 1. Criar o nosso arquivo docker-compose.yml
2. Construir e destruir o serviços criados pelo docker-compose.yml
3. Criando o nosso serviço para o container da Web Api
4. Adicionando as variáveis de ambiente para o container da Web Api
5. Adicionando os volumes para o container da Web Api
6. Adicionando as dependências de serviços para a nossa Web Api
7. Adicionando o serviço de banco de dados para a nossa Web Api
DEMO #5 - AGENDA
68. 1. Criar o nosso arquivo docker-compose.yml
# iremos criar o nosso arquivo Dockerfile na raiz do diretório do projeto
- Abra a pasta raiz do seu projeto
- Crie o arquivo docker-compose.yml (ou .yaml)
O que é o Docker Compose?
DEMO #5
69. 2. Construir e destruir o serviços criados pelo docker-compose.yml
# destruir um container
$ docker-compose rm --stop --force
# construir os servicos
$ docker-compose up --build --force-recreate -d
# listar os containers
$ docker ps –a
O que é o Docker Compose?
DEMO #5
70. 3. Criando o nosso serviço para o container da Web API
- Adicione as configurações abaixo no seu arquivo docker-compose.yml (ou .yaml)
O que é o Docker Compose?
DEMO #5
71. 4. Adicionando as variáveis de ambiente para o container da Web Api
- Adicione as configurações abaixo no seu arquivo docker-compose.yml (ou .yaml)
O que é o Docker Compose?
DEMO #5
72. 5. Adicionando os volumes para o container da Web Api
- Adicione as configurações abaixo no seu arquivo docker-compose.yml (ou .yaml)
O que é o Docker Compose?
DEMO #5
73. 6. Adicionando as dependências de serviços para nossa Web Api
- Adicione as configurações abaixo no seu arquivo docker-compose.yml (ou .yaml)
O que é o Docker Compose?
DEMO #5
74. 7. Adicionando o serviço de banco de dados para a nossa Web Api
- Adicione as configurações abaixo no seu arquivo docker-compose.yml (ou .yaml)
O que é o Docker Compose?
DEMO #5
75. 8. Verificando se o nosso container está funcionando
- Adicione as configurações abaixo no seu arquivo docker-compose.yml (ou .yaml)
O que é o Docker Compose?
DEMO #5
77. ➔ Vamos adicionar os arquivos para Debug da aplicação .NET localmente, conforme imagem
abaixo.
➔ Acesse o menu View > Command Palette e digite na barra de comandos:
◆ .NET: Generate Assets for
◆ Aperte o Enter no seu teclado
Debugando nossa aplicação .NET
Debug Local
78. ➔ Foram gerados 02 arquivos na pasta .vscode na raiz do seu projeto. Neles teremos as informações
necessárias para realizar o debug da nossa aplicação localmente.
➔ O arquivo .vscode/tasks.json possui as tarefas que serão executadas no momento que acionarmos
o Debug.
➔ O arquivo .vscode/launch.json possui o nome da atividade a configuração necessária para o Visual
Studio Code inicialize o debug através das tarefas definidas no tasks.json.
Debugando nossa aplicação .NET
Debug Local
79. ➔ Para executar o Debug da aplicação no Docker localmente foram adicionadas as seguintes tarefas
no arquivo tasks.json (mantenha a estrutura e nomes conforme o arquivo abaixo):
Debugando nossa aplicação .NET
Debug Local
80. ➔ Para executar o Debug da aplicação localmente através do Visual Studio Code, foi adicionada a
seguinte configuração no arquivo launch.json (mantenha a estrutura e nomes conforme o
arquivo abaixo):
Debugando nossa aplicação .NET
Debug Local
81. ➔ Agora coloque o break point na chamada do método public IEnumerable<WeatherForecast> Get() da
nossa controladora WeatherForecastController .
Debugando nossa aplicação .NET
Debug Local
82. ➔ Acesse a Feature de Debug do Visual Studio Code e selecione o nome do debug correspondente,
neste projeto o nome ficou .NET Core Launch (web) .
Debugando nossa aplicação .NET
Debug Local
83. ➔ Agora vamos efetuar o Debug da aplicação .NET no Docker e para isto, precisamos adicionar
tarefas nos arquivos tasks.json e mais uma configuração no arquivo launch.json.
➔ Acesse o menu View > Command Palette e digite na barra de comandos:
◆ Docker: initialize for
◆ Aperte o Enter no seu teclado
Debugando nossa aplicação .NET
Debug no Docker
84. ➔ Para executar o build da imagem (com base no arquivo Dockerfile) para que possamos realizar
o debug da aplicação localmente, foram adicionadas as seguintes tarefas no arquivo tasks.json
(mantenha a estrutura e nomes conforme o arquivo abaixo):
docker-build: debug
Debugando nossa aplicação .NET
Debug no Docker
85. ➔ Para construir e inicializar o container (com base no arquivo Dockerfile) para que possamos
realizar o debug da aplicação localmente, foram adicionadas as seguintes tarefas no arquivo
tasks.json (mantenha a estrutura e nomes conforme o arquivo abaixo):
docker-run:debug
Debugando nossa aplicação .NET
Debug no Docker
86. ➔ Para executar o Debug da aplicação no Docker através do Visual Studio Code, foi adicionada a
seguinte configuração no arquivo launch.json (mantenha a estrutura e nomes conforme o
arquivo abaixo):
Debugando nossa aplicação .NET
Debug no Docker
87. ➔ Agora coloque o break point na chamada do método public IEnumerable<WeatherForecast> Get() da
nossa controladora WeatherForecastController .
Debugando nossa aplicação .NET
Debug no Docker
88. ➔ Acesse a Feature de Debug do Visual Studio Code e selecione o nome do debug correspondente,
neste projeto o nome ficou Docker NET Core Launch (web).
Debugando nossa aplicação .NET
Debug no Docker
89. ➔ Para fazer o Debug da aplicação no container Docker utilizando o WSL primeiramente realize as
seguintes tarefas:
$ wsl
$ chmod 777 -R ~/.vsdbg
$ chown -R $USERNAME ~/.vsdbg
$ chown -R . ~/.vsdbg
$ rm -rf ~/.vsdbg
➔ Agora, coloque o breakpoint no endpoint da chamada da nossa Web Api e faça a chamada para
este endpoint através do navegador ou postman na porta randômica definida pelo Debug.
Debugando nossa aplicação .NET
Debug no Docker com WSL
90. ➔ Agora você deve abrir o repositório da aplicação no Visual Studio Code e depois você deve
reabrir o repositório da aplicação utilizando o Remote WSL.
➔ Acesse o menu View > Command Palette e digite na barra de comandos:
◆ Remote-WSL: Reo
◆ Aperte o Enter no seu teclado
Debugando nossa aplicação .NET
Debug no Docker com WSL
91. ➔ A sua aplicação reaberta com o Remote WSL deve ser parecida com a imagem abaixo:
Debugando nossa aplicação .NET
Debug no Docker com WSL
92. ➔ Agora coloque o break point na chamada do método public IEnumerable<WeatherForecast> Get() da
nossa controladora WeatherForecastController .
Debugando nossa aplicação .NET
Debug no Docker com WSL
93. ➔ Acesse a Feature de Debug do Visual Studio Code e selecione o nome do debug correspondente,
neste projeto o nome ficou Docker NET Core Launch (web).
Debugando nossa aplicação .NET
Debug no Docker com WSL
94. É importante conhecer o ambiente de execução das nossas aplicações.
Fazer testes em um ambiente parecido com o da execução produtiva da nossa aplicação é muito
importante.
O código fonte está disponível no seguinte repositório:
https://bit.ly/35mkJJE
Esta apresentação está disponível no meu slideshare:
https://bit.ly/3G9Xmja
Agora é com você, tente replicar o que fizemos no decorrer desta palestra.
Resumo