Check for newer versions of installed NuGet Packages in your Terminal.
PackCheck is a dotnet tool for checking versions of installed NuGet packages in your .NET projects in your terminal.
The check
command (default) shows you all NuGet packages in a nice table with the current, latest stable and latest versions of each package.
You can upgrade the .csproj (or Directory.Packages.props if you use Central Package Management) file with the upgrade
command to your desired target versions. Whether to the latest stable or latest version, only a specific
package or all at once.
You can install PackCheck as a dotnet tool via NuGet:
# Install
dotnet tool install --global PackCheck
# Update
dotnet tool update --global PackCheck
In your terminal cd
into a .NET project or .NET solution and run:
packcheck
# or
packcheck c
# or
packcheck check
This should give you something like this:
After that you can upgrade the package versions in the .csproj file (or .csproj files in a solution, or the Directory.Packages.props file) to their corresponding stable versions by running:
This changes your .csproj file(s) or the Directory.Packages.props file!
packcheck upgrade
# or
packcheck u
To upgrade to the latest versions run:
packcheck upgrade --target latest
# or
packcheck u --target latest
For a dry-run, which outputs the .csproj file (or the Directory.Packages.props) into the terminal without actually changing the file, run:
packcheck upgrade --dry-run
# or
packcheck u --dry-run
To use interactive mode, where you can select each package you want to upgrade, run:
packcheck upgrade -i
# or
packcheck u -i
# or to upgrade to the latest versions
packcheck u --target latest -i
To select packages which should be checked or upgraded, run:
packcheck --filter "NuGet.Version" -f "Microsoft.Logging"
To exclude packages which should not be checked or upgraded, run:
packcheck --exclude "NuGet.Version" -x "Microsoft.Logging"
You can configure PackCheck via a .packcheckrc.{json}
file. Example:
{
"CsProjFile": "path/to/Project.csproj",
"SlnFile": "path/to/Project.sln",
"CpmFile": "path/to/Directory.Packages.props",
"Filter": ["NuGet.Version"],
"Exclude": ["Microsoft.Logging"]
}
For help run:
packcheck -h
Color | Description |
---|---|
red | Major (Breaking changes) |
yellow | Minor (New features, but backwards compatible) |
green | Patch (Backwards compatible bug fixes only) |
MIT