A simple command line global tool to list and update NuGet dependencies.
Managing dependencies and making sure they are up to date can be a challenge sometimes.
dotnet-deps
a simple tool that makes it easy both to analyze and update our NuGet dependencies.
dotnet tool install -g dotnet-deps
Open a terminal window and navigate to the directory that contains the project(s) we want to analyze.
deps
/Users/bernhardrichter/GitHub/dotnet-deps/src/Dotnet.Deps/Dotnet.Deps.csproj
McMaster.Extensions.CommandLineUtils 2.5.1 => 2.6.0 (nuget.org) 😢
NuGet.Configuration 5.4.0 5.4.0 (nuget.org) 🍺
NuGet.Packaging 5.4.0 5.4.0 (nuget.org) 🍺
NuGet.Packaging.Core 5.4.0 5.4.0 (nuget.org) 🍺
simpleexec 6.2.0 6.2.0 (nuget.org) 🍺
The output is quite simple. We get a 🍺 for every dependency that is up-to-date and a 😢 for all dependencies that needs to be updated.
If we should want to update all dependencies we can simply use the update
option.
deps --update
We can filter the packages to be processed by dotnet-deps
by passing a --filter
option.
deps --filter McMaster
The filter is applied as an regular expression
If all packages are up-to-date, dotnet-deps
will exit with exit code 0
, otherwise 0xbad
The following file types are supported by dotnet-deps
-
SDK-style csproj files (*.csproj)
-
MsBuild props files (*.props)
-
MsBuild target files (*.target)
-
C# script files (*.csx)
-
NuGet metadata files (*.nuspec)
dotnet-deps
only looks for<PackageReference>
nodes and WILL NOT try to resolve MSBuild variables.