dotnet-updatr
4.0.0
Prefix Reserved
dotnet tool install --global dotnet-updatr --version 4.0.0
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local dotnet-updatr --version 4.0.0
#tool dotnet:?package=dotnet-updatr&version=4.0.0
nuke :add-package dotnet-updatr --version 4.0.0
dotnet-updatr
Dotnet tool for updating package reference and dotnet-tools.json.
The tool will try to stick to package versions that is supported by the projects target framework moniker. If a package supports both .NETStandard and .NET, the compatibility with .NETStandard will be ignored if the project is targeting .NET. This is to avoid false positives where a package technically supports a TFM but in reality never have been tested against the TFM.
See UpdatR for SDK.
Installation
> dotnet tool install --global dotnet-updatr
Basic Usage
To update all *.csproj
and dotnet-tools.json
recursively:
> update
If you only want to update the *.csproj
and dotnet-tools.json
that is part of a solution you can specify the solution directly:
> update path/to/solution.sln
You can also update a single *.csproj
or dotnet-config.json
:
> update path/to/example.csproj
If you want to preview the result you can do a dry run:
> update --dry-run
For larger solutions with multiple packages the console output is not optimal. You can choose to view the result in your default browser instead:
> update --browser
To allow packages to be updated to prerelease versions use the --prerelease
options:
> update --prerelease
To update only one or more specific packages you can use the --package
option:
> update --package Microsoft.* --package Newtonsoft.*
If you don't want to update a package or packages you can exclude them:
> update --exclude-package Microsoft.* --exclude-package Newtonsoft.*
If UpdatR fails to find the correct lowest TFM to support, for example for projects that supports multiple TFM's, then it's possible to set the TFM manually:
> update --tfm net6.0
As part of CI/CD
You can get the output as a markdown by setting a path for the output:
> update --output path/to/output/folder
It's possible to get the title and the rest of the output as separate .md-files which is helpful when creating a pull request:
> update --title path/to/title.md --description path/to/description.md
then you can use title.md
as the title for your pull request and description.md
as the body.
UpdatR is used to update it's own dependencies, have a look at Build.cs for an example that uses Bullseye and SimpleExec. However, if you are using C# in your CI/CD pipeline it's probably easier to just use UpdatR directly instead. That's the package that powers dotnet-updatr
under the hood.
All options
Usage:
update [<args>] [options]
Arguments:
<args> Path to solution or project(s). Defaults to current folder. Target can be a specific file or folder. If target is a folder then all *.csproj-files and dotnet-config.json-files will be processed. [default: .]
Options:
--package <package> Package to update. Supports * as wildcard. Will update all unless specified. []
--exclude-package <exclude-package> Package to exclude. Supports * as wildcard. []
--output <output> Defaults to "output.md". Explicitly set to fileName.txt to generate plain text instead of markdown. []
--title <title> Outputs title to path. []
--description <description> Outputs description to path. []
--verbosity <Critical|Debug|Error|Information|None|Trace|Warning> Log level. [default: Warning]
--dry-run Do not save any changes. [default: False]
--prerelease Allow prerelease packages to be installed. [default: False]
--browser Open summary in browser. [default: False]
--interactive Interaction with user is possible. [default: False]
--tfm <tfm> Lowest TFM to support. []
--version Show version information
-?, -h, --help Show help and usage information
Icon
Package by Sergey Novosyolov from NounProject.com
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
4.0.0 | 41 | 11/20/2024 |
3.0.0 | 129 | 11/1/2024 |
2.1.2 | 188 | 9/30/2024 |
2.1.1 | 133 | 9/19/2024 |
2.1.0 | 292 | 7/8/2024 |
2.0.1 | 3,664 | 1/30/2023 |
2.0.0 | 1,414 | 6/1/2022 |
1.2.5 | 604 | 4/26/2022 |
1.2.4 | 460 | 4/25/2022 |
1.2.3 | 510 | 4/11/2022 |
1.2.2 | 465 | 4/4/2022 |
1.2.1 | 501 | 3/31/2022 |
1.2.0 | 476 | 3/21/2022 |
1.1.1 | 523 | 3/7/2022 |
1.1.0 | 466 | 3/7/2022 |
1.0.0 | 439 | 3/6/2022 |
1.0.0-beta.4 | 145 | 3/6/2022 |
1.0.0-beta.3 | 130 | 3/6/2022 |
1.0.0-beta.2 | 131 | 3/4/2022 |
1.0.0-beta.1 | 144 | 3/3/2022 |
1.0.0-beta.0 | 130 | 3/1/2022 |
0.0.1-rc.1 | 137 | 2/27/2022 |
0.0.1-rc.0 | 126 | 2/25/2022 |
0.0.1-beta.6 | 133 | 2/25/2022 |
0.0.1-beta.5 | 118 | 2/25/2022 |
0.0.1-beta.4 | 122 | 2/25/2022 |
0.0.1-beta.3 | 124 | 2/24/2022 |
0.0.1-beta.2 | 124 | 2/23/2022 |
0.0.1-beta.1 | 132 | 2/22/2022 |
0.0.1-beta.0 | 145 | 2/22/2022 |
0.0.1-alpha.7 | 126 | 2/21/2022 |
0.0.1-alpha.5 | 138 | 2/21/2022 |
BREAKING CHANGE: Ignore compatibility with .NETStandard unless the package only targets .NETStandard. Too many packages "support" .NETStandard but haven't actually been tested to work with any other .NET versions than the .NET versions targeted. So even if a package can be installed on for exampel .NET 6 because the package targets .NETStandard2.0 that doesn't mean it actually works.