Retarget .NET Framework 4.7 to 4.7.1
ProprietaryRetargets a .NET Framework 4.7 project to 4.7.1. Updates <TargetFrameworkVersion> to v4.7.1, <TargetFramework> to net471, the app.config <supportedRuntime sku>, and the web.config targetFramework. Includes all earlier steps (4.0 -> 4.7). Notable retargeting changes at 4.7.1: accessibility/UIA improvements across WinForms, WPF, and ASP.NET controls turn on by default (Switch.UseLegacyAccessibilityFeatures=true to keep legacy behavior); SignedXml/SignedCms and PackageDigitalSignatureManager default hash algorithms move from SHA-1 to SHA-256 (Switch.System.Security.Cryptography.Xml.UseInsecureHashAlgorithms=true etc. to revert); ServiceBase.Run now propagates exceptions thrown from OnStart. See https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/retargeting/4.7.x.
OpenRewrite. Recipes. CSharp. Migration. Dotnet. NetFramework. UpgradeToNetFramework471mod run . --recipe= OpenRewrite. Recipes. CSharp. Migration. Dotnet. NetFramework. UpgradeToNetFramework471Install 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.
- Retarget .NET Framework 4.6.2 to 4.7
- Change .NET Framework version
- Change .NET target framework
- Change web.config target framework
- Ensure csproj attestation
- Find
SignedXml/CmsSignerusage (default hash SHA-1 → SHA-256) - Find
ServiceBase.Runusage (OnStart exception propagation) - Find
SerialPortusage (background-thread exception behavior)