NET CLI - Criando uma solução com múltiplos projetos
Aprenda como criar uma solução com múltiplos projetos usando a ferramenta de linha de comando NET CLI. |
A NET CLI ou ferramenta de linha de comando .NET Core, é uma ferramenta para criar e gerenciar projetos e soluções em ambiente multiplataforma para aplicações .NET.
Por padrão, a ferramenta CLI é instalada lado a lado para que várias versões das ferramentas da CLI possam coexistir em um único computador.
A estrutura de comando NET CLI consiste no driver : dotnet e possivelmente de opções e argumentos de comando. É possível ver esse padrão na maioria das operações de CLI, como ao criar um novo aplicativo de console e executá-lo a partir da linha de comando.
O driver é chamado dotnet e tem duas responsabilidades, executar um aplicativo dependente do framework ou executar um comando.
Alguns do comandos mais usados são :
Este artigo mostra como gerenciar projetos e soluções usando os recursos do .NET Core SDK 2.2 para os cenários mais comuns.
Os comandos NET CLI podem ser executados no Windows, MacOS e no Linux, e, neste artigo eu vou mostrar a execução no ambiente Linux usando o Ubuntu 18.04.
Recursos usados:
Linux Ubuntu 18.04
Verificando a versão da .NET CLI
Para exibir a versão da CLI instalada digite o comando : dotnet --version
Será exibido a vesão do SDK .NET Core do seu ambiente.
Para obter mais informações use o comando : dotnet --info
Criando uma solução
Crie uma pasta no seu ambiente onde deseja armazenar a solução e os projetos. Para este exemplo eu vou criar a pasta demo e a seguir entrar na pasta:
Vamos agora criar uma solução chamada AppWeb digitando o comando : dotnet new sln -o AppWeb
Vemos que foi criada a pasta AppWeb e nesta pasta o arquivo AppWeb.sln.
Temos assim um arquivo do tipo Solution(sln).
Criando três projetos
Vamos agora criar 3 projetos :
1 Projeto para uma aplicação ASP .NET Core MVC - AppWeb.ClienteMVC
1 Projeto para uma aplicação WebAPI - AppWeb.Api
1 Projeto para a camada de acesso a dados - AppWeb.DataAcces
Vamos então emitir os comandos a seguir:
dotnet new mvc -o AppWeb.ClienteMVC : Cria o projeto MVC na pasta AppWeb.ClienteMVC
dotnet new webapi -o AppWeb.Api : Cria o projeto Web API na pasta AppWeb.Api
dotnet new classlib -o AppWeb.DataAccess : Cria o projeto na pasta AppWeb.ClienteMVC
Temos assim 3 projetos e uma solução criados em 4 pastas dentro da pasta demo :
Incluindo os projetos na solução
Vamos agora incluir cada um dos projetos na solução criada.
Entre na pasta AppWeb: cd AppWeb
Digite o comando: sudo dotnet sln AppWeb.sln add ../AppWebClienteMVC/AppWeb.ClienteMVC.csproj
Este comando vai incluir o projeto AppWeb.ClienteMVC.csproj na solução.
Agora repita o comando para os demais projetos:
sudo dotnet sln AppWeb.sln add ../AppWebApi/AppWeb.Api.csproj
sudo dotnet sln AppWeb.sln add ../AppWebDataAccess/AppWeb.DataAccess.csproj
Nota: Poderiamos ter emitido um único comando incluindo os 3 projetos na solução.
Ao final teremos os 3 projetos incluídos na solução. Podemos constatar isso exibindo o conteúdo do arquivo AppWeb.sln : cat AppWeb.sln
Gerencia referências no projeto
Precisamos agora incluir as referências dos projetos na solução. Para o nosso exemplo temos que:
1- O projeto MVC possui uma referência ao projeto Web API;
dotnet add ../AppWeb.ClienteMVC/AppWeb.ClienteMVC.csproj reference ../AppWeb.Api/AppWeb.Api.csproj
2- O projeto Web API possui uma referência ao projeto DataAccess;
dotnet add ../AppWeb.Api/AppWeb.Api.csproj reference ../AppWeb.DataAccess/AppWeb.DataAccess.csproj
Abrindo a solução no Visual Studio Code e exibindo o conteúdo dos arquivos .csproj para os projetos veremos as referências conforme mostradas nas figuras a seguir:
1- Projeto AppWeb.ClienteMVC.csproj
2- Projeto AppWeb.Api.csproj
Temos assim uma solução contendo 3 projetos e suas referências e podemos inclusive abrir o projeto no Visual Studio Community 2019.
Assim, de forma simples e descomplicada a ferramenta de linha de comando .NET pode ser usada para gerenciar projetos, soluções, dependências, referências, fazer o deploy, publicar, etc.
Louvai ao Deus dos deuses; porque a sua benignidade dura para sempre.
Louvai ao Senhor dos senhores; porque a sua benignidade dura para sempre."
Salmos 136:1-3
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET
ASP .NET Core - Criando uma aplicação Console no Visual
.NET CLI - Organizando Projetos e Soluções - Macoratti