A .NET CLI no dia a dia
ResumoA
dotnetCLI é a interface de linha de comando para criar, restaurar, compilar, executar, testar e publicar projetos. Dominar meia dúzia de comandos já cobre 90% do fluxo diário.
1. Objetivos de Aprendizagem#
- Usar os comandos essenciais da CLI.
- Criar projetos a partir de templates.
- Gerenciar pacotes e referências pela linha de comando.
2. Pré-requisitos#
- .NET SDK instalado (tópico 1.1).
3. Conceito#
A CLI substitui a necessidade de uma IDE para as tarefas de build. Cada comando é dotnet <verbo>. O porquê: scripts, CI/CD e automação dependem da CLI — a IDE é conveniência, a CLI é a fonte da verdade.
Comandos essenciais:
| Comando | Função |
|---|---|
dotnet new | Cria projeto/arquivo a partir de template |
dotnet restore | Baixa pacotes NuGet (implícito em build/run) |
dotnet build | Compila para IL |
dotnet run | Compila e executa |
dotnet test | Executa testes |
dotnet publish | Gera artefatos para deploy |
dotnet add | Adiciona pacote ou referência |
4. Mão na Massa#
4.1. Setup#
Veja os templates disponíveis:
dotnet new list
4.2. Implementação Passo a Passo#
- Crie um projeto de console:
dotnet new console -n Catalog.Playground
cd Catalog.Playground
- Adicione um pacote NuGet:
dotnet add package Newtonsoft.Json
- Compile e execute:
dotnet build
dotnet run
- Crie um projeto de Web API (usaremos no curso seguinte):
dotnet new webapi --use-controllers -n Catalog.Api
Dicano .NET moderno,
dotnet new webapigera Minimal APIs por padrão. Passe--use-controllersquando quiser o estilo baseado em controllers.
4.3. Executando#
dotnet run
5. Exemplo Completo#
Fluxo típico de início de projeto: dotnet new → dotnet add package → dotnet run. Em CI, o mesmo vira dotnet restore → dotnet build → dotnet test → dotnet publish.
6. Boas Práticas e Armadilhas#
| Faça | Evite |
|---|---|
Usar dotnet --help e dotnet --help | Decorar flags — consulte o help |
| Padronizar comandos no pipeline de CI | Depender de cliques na IDE para builds reprodutíveis |
Nomear projetos com o namespace desejado (-n) | Renomear pastas manualmente depois |
Atenção
dotnet runrecompila; para medir/rodar em produção usedotnet publishe execute o artefato gerado, nãorun.
7. Segurança e Produção#
- Em produção, publique em Release (
dotnet publish -c Release) — nunca distribua binários de Debug.
8. Exercícios#
- Fácil: crie um console app e execute-o.
- Médio: adicione um pacote NuGet e use um tipo dele no
Program.cs. - Desafio: gere um
dotnet publish -c Releasee localize os arquivos publicados.
9. Resumo#
A dotnet CLI cobre todo o ciclo: new, restore, build, run, test, publish, add. É a base de automação e CI.
10. Próximos Passos#
A seguir, entender a estrutura do .csproj e solutions.
11. Referências#
- Microsoft Learn — Visão geral da .NET CLI
- Microsoft Learn — dotnet new
- Microsoft Learn — dotnet publish