Check for .NET NuGet Updates via dotnet outdated cli tool

Picture: Microsoft

Check for .NET NuGet Updates via dotnet outdated cli tool

.NET now has a very powerful CLI that can also handle NuGet packages very well. But one important feature is missing: check if there are package updates.

Thanks to the .NET tool dotnet outdated, developed by JerrieP and the open source community, this is still possible - even if I think this should be part of the vanilla CLI.

Installation

The tool can be installed either globally on a computer, or on project level. I am a big fan of local instead of global installations. Thus, the tool is part of the solution and every developer always has the tool.

dotnet tool install dotnet-outdated-tool or as global dotnet tool install --global dotnet-outdated-tool

Usage

The tool works both with one project, but also with a complete solution and many projects.

For this purpose, only the command XX must be executed in the respective directory, then the following output appears, for example

PS C:\source\MyCSharp\MyCSharpNET> dotnet outdated
> MyCSharp.Portal.WebApp
  [net6.0]
  Microsoft.CodeAnalysis.Common                          4.0.0  -> 4.0.1
  Microsoft.CodeAnalysis.CSharp                          4.0.0  -> 4.0.1
  Microsoft.VisualStudio.Azure.Containers.Tools.Targets  1.14.0 ->

Errors occurred while analyzing dependencies for some of your projects. Are you sure you can connect to all your configured NuGet servers?

Unable to find DOTNET_HOST_PATH environment variable. If you use credential providers for your NuGet sources you need to have this set to the path to the `dotnet` executable.

Version color legend:
   : Major version update or pre-release version. Possible breaking changes.
: Minor version update. Backwards-compatible features added.
 : Patch version update. Backwards-compatible bug fixes.

You can upgrade packages to the latest version by passing the -u or -u:prompt option.
Elapsed: 00:00:10.5041871

As you can see, this works great with public packages, but it doesn't seem to work perfectly with private packages yet. In my case it seems to have a problem with linking certain packages directly via the file system instead of using a NuGet server.

But it's a definite improvement in handling NuGet package information, because the current NuGet view in Visual Studio is way too slow. But it's a definite relief when dealing with NuGet package information, because the current NuGet view in Visual Studio is way too slow.