Retarget .NET Framework 4.0 to 4.5
ProprietaryRetargets a .NET Framework 4.0 project to 4.5. Updates <TargetFrameworkVersion> to v4.5 (legacy csproj), <TargetFramework> to net45 (SDK-style csproj), the <supportedRuntime sku> in app.config, and the targetFramework attribute in web.config. Retargeting to 4.5 enables RFC 3987 System.Uri parsing (stricter normalization/validation), C# 5 per-iteration foreach variable scoping, and obsoletes MachineKey.Encode/Decode (use MachineKey.Protect/Unprotect) and the System.Workflow.* (WF 3.x) types (use System.Activities.*). See https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/retargeting/4.5.x.
OpenRewrite. Recipes. CSharp. Migration. Dotnet. NetFramework. UpgradeToNetFramework45mod run . --recipe= OpenRewrite. Recipes. CSharp. Migration. Dotnet. NetFramework. UpgradeToNetFramework45Install 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.
- Change .NET Framework version
- Change .NET target framework
- Change web.config target framework
- Ensure csproj attestation
- Find obsolete
MachineKey.Encode/Decode - Find obsolete
System.Workflow.*(WF 3.x) usage - Find obsolete 5-argument
EncoderParameterconstructor - Find
System.Uriconstruction (RFC 3986/3987 parsing change) - Find
List<T>.ForEachmodification-during-enumeration change