.NET + NuGet: atualizando packages via linha de comando

Renato Groffe
3 min readApr 3, 2021

--

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:

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

Ou ainda executar o comando Update-Package a partir do Package Manager Console:

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

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):

Clique nesta imagem para visualizar com uma melhor resoluçã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):

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

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
Clique nesta imagem para visualizar com uma melhor resolução

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:

https://bit.ly/live-backend-dotnet5-mar-2021

--

--

Renato Groffe

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