dotnet-updatr 4.0.0

Prefix Reserved
dotnet tool install --global dotnet-updatr --version 4.0.0                
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local dotnet-updatr --version 4.0.0                
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=dotnet-updatr&version=4.0.0                
nuke :add-package dotnet-updatr --version 4.0.0                

dotnet-updatr

Latest Nuget Version Latest Nuget Version

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
4.0.0 41 11/20/2024
3.0.0 131 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.