.NET + NuGet: atualizando packages via linha de comando
O Visual Studio 2019 oferece sem sombra de dúvidas uma experiência única em termos de Desenvolvimento, com inúmeros recursos voltados a uma maior produtividade durante a implementação de aplicações baseadas em .NET Core e .NET 5.
Podemos utilizar a interface de gerenciamento do NuGet para atualizar as versões de packages em um projeto, por exemplo:
Ou ainda executar o comando Update-Package a partir do Package Manager Console:
Mas e quanto à linha de comando: como utilizar a .NET CLI (command-line interface) para realizar este mesmo tipo de ajuste?
Temos na Global Tool dotnet-outdated uma resposta a este questionamento, com a mesma sendo compatível com .NET 5 e as versões 2.1 e 3.1 do .NET Core. Trata-se de um projeto open source disponibilizado no GitHub:
https://github.com/dotnet-outdated/dotnet-outdated
Para instalar a ferramenta dotnet-outdated execute o comando:
dotnet tool install --global dotnet-outdated-tool
Esta Global Tool pode ser acionada com arquivos de projetos (extensão *.csproj ou *.fsproj) ou Solutions (*.sln - neste caso todos os projetos referenciados estariam sujeitos às ações disparadas por dotnet-outdated). Dentre as funcionalidades existentes estão a capacidade de detectar packages com novas versões, além da alteração das referências correspondentes.
Para verificar quais packages contam ou não com novas versões podemos utilizar o comando (com um hífen separando dotnet de outdated):
dotnet-outdated
Também sem o hífen:
dotnet outdated
Ou ainda especificando o caminho de um arquivo de projeto ou Solution (no exemplo a seguir estamos referenciando o projeto APIFinancas.csproj):
dotnet outdated .\APIFinancas.csproj
Executando a instrução dotnet-outdated em uma API REST criada com .NET 5 + ASP.NET Core teremos o seguinte resultado (com a exibição dos packages que passariam por atualização):
Já o comando:
dotnet outdated --upgrade
Também representado como:
dotnet outdated -u
Procederá com a atualização dos packages listados no exemplo anterior (com a modificação do arquivo .csproj):
Uma outra possibilidade seria solicitar uma confirmação de atualização de um package, através do uso da opção Prompt com --upgrade ou -u:
dotnet-outdated -u:Prompt
Por fim, ao executar o comando:
dotnet outdated -h
Ou:
dotnet outdated --help
Ou:
dotnet outdated -?
Uma lista com as opções oferecidas por esta Global Tool será exibida:
E concluo este artigo com um convite…
No dia 12/04/2021 (segunda) às 21:00 — horário de Brasília — teremos mais um evento online e gratuito no Canal .NET.
Desta vez farei uma apresentação com dicas, truques e alternativas úteis para o desenvolvimento Back-End e de APIs REST com .NET 5, ASP.NET Core e Azure Functions. Ao longo da live será coberto o uso de diferentes frameworks, serviços na nuvem, mensageria, bancos de dados e boas práticas de forma a facilitar e tornar mais dinâmica a implementação de soluções baseadas na plataforma .NET no seu dia a dia.
Para participar faça sua inscrição no link a seguir, a transmissão acontecerá via YouTube: