A tool that help you find transitive package references that can be removed.
> snitch --tfm net462
Results in:
Analyzing...
Analyzing Snitch.Tests.Fixtures.sln
Analyzing Foo...
Analyzing Bar...
Analyzing Baz...
Analyzing Qux...
Analyzing Zap...
╭──────────────────────────────────────────────────────────────╮
│ Packages that can be removed from Bar: │
│ ┌─────────────────────┬────────────────────────────────────┐ │
│ │ Package │ Referenced by │ │
│ ├─────────────────────┼────────────────────────────────────┤ │
│ │ Autofac │ Foo │ │
│ └─────────────────────┴────────────────────────────────────┘ │
│ │
│ Packages that can be removed from Baz: │
│ ┌─────────────────────┬────────────────────────────────────┐ │
│ │ Package │ Referenced by │ │
│ ├─────────────────────┼────────────────────────────────────┤ │
│ │ Autofac │ Foo │ │
│ └─────────────────────┴────────────────────────────────────┘ │
│ │
│ Packages that might be removed from Qux: │
│ ┌───────────┬───────────┬──────────────────────────────────┐ │
│ │ Package │ Version │ Reason │ │
│ ├───────────┼───────────┼──────────────────────────────────┤ │
│ │ Autofac │ 4.9.3 │ Downgraded from 4.9.4 in Foo │ │
│ └───────────┴───────────┴──────────────────────────────────┘ │
│ │
│ Packages that might be removed from Zap: │
│ ┌─────────────────┬─────────┬──────────────────────────────┐ │
│ │ Package │ Version │ Reason │ │
│ ├─────────────────┼─────────┼──────────────────────────────┤ │
│ │ Newtonsoft.Json │ 12.0.3 │ Updated from 12.0.1 in Foo │ │
│ │ Autofac │ 4.9.3 │ Downgraded from 4.9.4 in Foo │ │
│ └─────────────────┴─────────┴──────────────────────────────┘ │
╰──────────────────────────────────────────────────────────────╯
> dotnet tool install -g snitch
Examine a specific project or solution using the first built target framework.
> snitch MyProject.csproj
Examine a specific project using a specific target framework moniker.
> snitch MyProject.csproj --tfm net462
Examine a specific project using a specific target framework moniker and return exit code 0 only if there was no transitive package collisions. Useful for continuous integration.
> snitch MyProject.csproj --tfm net462 --strict
Examine a specific project using a specific target framework moniker and make sure that the packages Foo and Bar are excluded from the result.
> snitch MyProject.csproj --tfm net462 --exclude Foo --exclude Bar
Examine a specific project using a specific target framework moniker and exclude the project OtherProject from analysis.
> snitch MyProject.csproj --tfm net462 --skip OtherProject
> dotnet tool restore
> dotnet cake
Hollow designed by Ben Davis from The Noun Project.