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:
<red> : Major version update or pre-release version. Possible breaking changes.
<yellow>: Minor version update. Backwards-compatible features added.
<green> : 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.