Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mbenford/nucheck
Little tool to check if there are different versions of a NuGet package in use in a solution
https://github.com/mbenford/nucheck
Last synced: 22 days ago
JSON representation
Little tool to check if there are different versions of a NuGet package in use in a solution
- Host: GitHub
- URL: https://github.com/mbenford/nucheck
- Owner: mbenford
- License: mit
- Created: 2013-05-04T22:05:40.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2014-07-12T23:07:43.000Z (over 10 years ago)
- Last Synced: 2024-04-14T05:14:13.546Z (9 months ago)
- Language: C#
- Size: 512 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NuCheck [![Build status](https://ci.appveyor.com/api/projects/status/h8dq23fjvtevlc18)](https://ci.appveyor.com/project/mbenford/nucheck)
NuGet is a great tool and a great package manager for .NET applications. Unfortunately it currently doesn't alert us when we are trying to add a different version of a package already in use by some other project in a solution. And since the Manage NuGet Packages dialog box always installs the latest version of a package, as we add new projects we can easily end up having several different versions of a package in use across the solution. Despite being a perfectly valid scenario, having multiples versions of an assembly in use can lead to nasty runtime errors.
To help catch this problem earlier in the development process I created NuCheck, a little tool to check if there are different versions of a NuGet package in use in a solution. Just provide it with a solution file and you're done: it'll tell you if everything is fine or if there is something to worry about.
## Downloading
You can grab the latest version of NuCheck by accessing the [Artifacts page](https://ci.appveyor.com/project/mbenford/nucheck/build/artifacts) on AppVeyor.
## Building from the source code
Building NuCheck from the source code is just a three-step process:
> git clone https://github.com/mbenford/nucheck.git
> cd NuCheck
> build.cmdWhen the build script finishes running, NuCheck executable file will be found in the newly created Output directory.
## Using NuCheck
NuCheck accepts a solution file as its first command line argument:
> nucheck solution.sln
If different versions of a package are being used by different projects, a summary will be displayed:
> nucheck solution.sln
2 issues found
Ninject (2 versions)
=> 3.0.0.15 (1 project)
- Project2
=> 3.0.1.10 (2 projects)
- Project1
- Project3
RabbitMQ.Client (3 versions)
=> 3.0.0 (1 project)
- Project2
=> 3.0.2 (1 project)
- Project3
=> 3.0.4 (1 project)
- Project1Optionally you can pass a pattern as a second argument to NuCheck so it selects only a subset of all packages in use (wildcards are supported):
> nucheck solution.sln ServiceStack*
3 issues foundServiceStack.Common (2 versions)
=> 3.9.71 (1 project)
- Project1
=> 4.0.17 (2 projects)
- Project2
- Project3
ServiceStack.Redis (3 versions)
=> 3.9.37 (1 project)
- Project1
=> 3.9.71 (1 project)
- Project2
=> 4.0.17 (1 project)
- Project3As you would expect, NuCheck returns a non-zero exit code when an issue is found so that you can use it as part of a build script and/or a CI system to keep an eye on the packages being added by your team.