Retarget .NET Framework 4.6.1 to 4.6.2
ProprietaryRetargets a .NET Framework 4.6.1 project to 4.6.2. Updates <TargetFrameworkVersion> to v4.6.2, <TargetFramework> to net462, the app.config <supportedRuntime sku>, and the web.config targetFramework. Includes all earlier steps (4.0 -> 4.6.1). Notable retargeting changes at 4.6.2: path normalization defers to the OS and supports long (>260 char) paths (Switch.System.IO.UseLegacyPathHandling=true / Switch.System.IO.BlockLongPaths=true to revert); ClaimsIdentity ctors clone the Actor (Switch.System.Security.ClaimsIdentity.SetActorAsReferenceWhenCopyingClaimsIdentity=true); RSACng accepts non-standard key sizes and SignedXml.GetPublicKey returns RSACng. Two changes need manual review (no switch): HttpRuntime.AppDomainAppPath may throw NullReferenceException, and RSACng.ImportParameters no longer throws on odd key sizes. See https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/retargeting/4.6.x.
OpenRewrite. Recipes. CSharp. Migration. Dotnet. NetFramework. UpgradeToNetFramework462mod run . --recipe= OpenRewrite. Recipes. CSharp. Migration. Dotnet. NetFramework. UpgradeToNetFramework462Install 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 to 4.6.1
- Change .NET Framework version
- Change .NET target framework
- Change web.config target framework
- Ensure csproj attestation
- Find
System.IO.Pathnormalization change - Find
ClaimsIdentityActor clone-on-copy change - Find
HttpRuntime.AppDomainAppPath(exception type change) - Find
RSACngusage (non-standard key size behavior)