dotnet-updatr
4.0.1
Prefix Reserved
dotnet tool install --global dotnet-updatr --version 4.0.1
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local dotnet-updatr --version 4.0.1
#tool dotnet:?package=dotnet-updatr&version=4.0.1
nuke :add-package dotnet-updatr --version 4.0.1
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.1 | 131 | 11/25/2024 |
4.0.0 | 110 | 11/20/2024 |
3.0.0 | 143 | 11/1/2024 |
2.1.2 | 207 | 9/30/2024 |
2.1.1 | 139 | 9/19/2024 |
2.1.0 | 298 | 7/8/2024 |
2.0.1 | 3,668 | 1/30/2023 |
2.0.0 | 1,420 | 6/1/2022 |
1.2.5 | 611 | 4/26/2022 |
1.2.4 | 464 | 4/25/2022 |
1.2.3 | 514 | 4/11/2022 |
1.2.2 | 469 | 4/4/2022 |
1.2.1 | 505 | 3/31/2022 |
1.2.0 | 480 | 3/21/2022 |
1.1.1 | 527 | 3/7/2022 |
1.1.0 | 470 | 3/7/2022 |
1.0.0 | 443 | 3/6/2022 |
1.0.0-beta.4 | 147 | 3/6/2022 |
1.0.0-beta.3 | 132 | 3/6/2022 |
1.0.0-beta.2 | 135 | 3/4/2022 |
1.0.0-beta.1 | 146 | 3/3/2022 |
1.0.0-beta.0 | 132 | 3/1/2022 |
0.0.1-rc.1 | 139 | 2/27/2022 |
0.0.1-rc.0 | 128 | 2/25/2022 |
0.0.1-beta.6 | 135 | 2/25/2022 |
0.0.1-beta.5 | 122 | 2/25/2022 |
0.0.1-beta.4 | 124 | 2/25/2022 |
0.0.1-beta.3 | 126 | 2/24/2022 |
0.0.1-beta.2 | 127 | 2/23/2022 |
0.0.1-beta.1 | 134 | 2/22/2022 |
0.0.1-beta.0 | 147 | 2/22/2022 |
0.0.1-alpha.7 | 128 | 2/21/2022 |
0.0.1-alpha.5 | 140 | 2/21/2022 |
- bug: Use .NETStandard if no other target framework is compatible with the version.