Retarget .NET Framework 4.7.1 to 4.7.2

Proprietary

Retargets a .NET Framework 4.7.1 project to 4.7.2. Updates <TargetFrameworkVersion> to v4.7.2, <TargetFramework> to net472, the app.config <supportedRuntime sku>, and the web.config targetFramework. Includes all earlier steps (4.0 -> 4.7.1). Notable retargeting changes at 4.7.2: second wave of accessibility/UIA improvements (requires both Switch.UseLegacyAccessibilityFeatures=true and Switch.UseLegacyAccessibilityFeatures.2=true to keep legacy behavior); System.Uri keeps Unicode bidi control characters and applies a consistent RFC 3986 reserved-character set (Switch.System.Uri.DontKeepUnicodeBidiFormattingCharacters=true / Switch.System.Uri.DontEnableStrictRFC3986ReservedCharacterSets=true to revert); DeflateStream/GZipStream use native Windows decompression. See https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/retargeting/4.7.x.

OpenRewrite.Recipes.CSharp.Migration.Dotnet.NetFramework.UpgradeToNetFramework472
mod run . --recipe=OpenRewrite.Recipes.CSharp.Migration.Dotnet.NetFramework.UpgradeToNetFramework472

Install it once, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.

Recipe list

It runs these recipes, in this order.

  1. Retarget .NET Framework 4.7 to 4.7.1
  2. Change .NET Framework version
  3. Change .NET target framework
  4. Change web.config target framework
  5. Ensure csproj attestation
  6. Find DeflateStream/GZipStream usage (native decompression)