Retarget .NET Framework 4.6 to 4.6.1
OpenRewrite.Recipes.CSharp.Migration.Dotnet.NetFramework.UpgradeToNetFramework461ArtifactOpenRewrite.Recipes.CSharp.Migration.DotnetRetargets a .NET Framework 4.6 project to 4.6.1. Updates <TargetFrameworkVersion> to v4.6.1, <TargetFramework> to net461, the app.config <supportedRuntime sku>, and the web.config targetFramework. Includes all earlier steps (4.0 -> 4.6). Notable retargeting changes at 4.6.1: ZipArchiveEntry.FullName uses / separators (Switch.System.IO.Compression.ZipFile.UseBackslash=true to revert); WCF transport security supports CNG-stored certificates; X509CertificateClaimSet.FindClaims matches all SAN DNS entries (Switch.System.IdentityModel.DisableMultipleDNSEntriesInSANCertificate=true). See https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/retargeting/4.6.x.
Usage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe OpenRewrite.Recipes.CSharp.Migration.Dotnet.NetFramework.UpgradeToNetFramework461If the recipe isn’t available locally, install it with:
mod config recipes nuget install OpenRewrite.Recipes.CSharp.Migration.DotnetDefinition
This recipe runs the following recipes in order.
- Retarget .NET Framework 4.5.2 to 4.6
OpenRewrite.Recipes.CSharp.Migration.Dotnet.NetFramework.UpgradeToNetFramework46 - Change .NET Framework version
OpenRewrite.CSharp.Recipes.ChangeDotNetFrameworkVersion - Change .NET target framework
OpenRewrite.CSharp.Recipes.ChangeDotNetTargetFramework - Change web.config target framework
OpenRewrite.CSharp.Recipes.ChangeWebConfigTargetFramework - Ensure csproj attestation
OpenRewrite.CSharp.Recipes.EnsureCsprojAttestation - Find
ZipFile/ZipArchiveEntryusage (path separator change)OpenRewrite.Recipes.CSharp.Migration.Dotnet.NetFramework.FindZipFileEntrySeparator