ASP.NET Core + Containers: build de imagens em uma aplicação formada por múltiplos projetos

Gerar imagens para a criação de containers em aplicações ASP.NET Core formadas por múltiplos projetos é um processo relativamente simples. O Dockerfile apresentado a seguir exemplifica bem este processo:

  • Inicialmente é utilizada como base a imagem mcr.microsoft.com/dotnet/sdk:5.0.302;
  • Os arquivos .csproj dos projetos Calculos.Common e APIFinancas foram copiados para uma imagem intermediária (linhas 5 e 6 - outros projetos seriam adicionados neste ponto se esse fosse o caso). Na sequência dependências são restauradas (linha 7), partindo-se do projeto principal (APIFinancas);
  • Uma publicação da aplicação será gerada via comando dotnet publish, apontando para o projeto APIFinancas (linha 11) e com O resultado direcionado para a pasta out;
  • Finalmente a imagem final é montada, tomando por base a imagem mcr.microsoft.com/dotnet/aspnet:5.0.8. Para isto o conteúdo do diretório out foi copiado (linha 16), bem como indicado o entrypoint (dll para execução da aplicação - linha 17).

A estrutura deste projeto pode ser observada na próxima imagem:

O código para esta aplicação foi também disponibilizado no GitHub:

https://github.com/renatogroffe/ASPNETCore5-REST_API-Postman_JurosCompostos-v2

Manipulando pacotes NuGet no VS Code através de uma interface gráfica

A extensão NuGet Gallery é uma alternativa para a pesquisa, instalação e desinstalação de pacotes NuGet tanto no desenvolvimento com ASP.NET Core, quanto em outros tipos de projeto:

Para utilizar a interface desta extensão devemos acionar a opção Open NuGet Gallery a partir da paleta de comandos (View > Command Pallete… ou Ctrl + Shift + P):

Clique nesta imagem para visualizar com uma melhor resolução

Podemos pesquisar packages a partir de texto informado em um filtro, de maneira similar àquela encontrada em IDEs como o Visual Studio 2019:

Clique nesta imagem para visualizar com uma melhor resolução

E obviamente incluir um package em um projeto (selecionando até mesmo uma versão específica dentre aquelas disponíveis):

Clique nesta imagem para visualizar com uma melhor resolução

--

--

Renato Groffe
Renato Groffe

Written by Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker

No responses yet