Skip to content

.NET core command-line tool that verifies that all NuGet packages in a solution are consolidated

License

Notifications You must be signed in to change notification settings

krzysztof-adamowski-bqs/dotnet-consolidate

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotnet consolidate

Build status Quality Gate Status NuGet

.NET core tool that verifies that all NuGet packages in a solution are consolidated.

Developers typically consider it bad practice to use different versions of the same NuGet package across different projects in the same solution.

https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-visual-studio#consolidate-tab

The tool finds such discrepancies.

Installation

dotnet tool install dotnet-consolidate --global

Usage

Pass a solution file as a parameter

dotnet consolidate -s YourSolution.sln

or multiple solutions

dotnet consolidate -s YourSolution.sln AnotherSolution.sln

You can also optionally specify the a package ID if you want only a single package to be consolidated dotnet consolidate -s YourSolution.sln -p PackageId

or a list of package IDs if you want to consolidate multiple, but not all which are referenced in the solution projects

dotnet consolidate -s YourSolution.sln -p PackageID1 PackageID2

If the tool finds discrepancies between projects (only the specified ones if -p is given), it exits with non-success status code and prints these discrepancies.

Examples

dotnet consolidate -s umbraco.sln

✅ Output:

All packages are consolidated.

dotnet consolidate -s Sentry.sln

❌ Output:

Found 5 non-consolidated packages

----------------------------
Newtonsoft.Json
----------------------------
Sentry - 11.0.2
Sentry - 6.0.8

----------------------------
Microsoft.Extensions.Logging.Configuration
----------------------------
Sentry.Extensions.Logging - 2.1.0
Sentry.Extensions.Logging - 3.0.0

----------------------------
Microsoft.Extensions.DependencyInjection
----------------------------
Sentry.AspNetCore - 2.1.0
Sentry.Extensions.Logging.Tests - 2.1.1
Sentry.Extensions.Logging.Tests - 3.0.0

----------------------------
Microsoft.Extensions.Configuration.Json
----------------------------
Sentry.Extensions.Logging.Tests - 2.1.1
Sentry.Samples.GenericHost - 2.1.1
Sentry.Extensions.Logging.Tests - 3.0.0

----------------------------
Microsoft.AspNetCore.TestHost
----------------------------
Sentry.Testing - 2.1.1
Sentry.Testing - 3.1.0

About

.NET core command-line tool that verifies that all NuGet packages in a solution are consolidated

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%