Preserve reviewed .NET Framework shell execution defaults

Proprietary

After explicit Framework-default and desktop-runtime review, make UseShellExecute=true explicit on resolved Process.Start(string) and Process.Start(string,string) calls and direct inline BCL ProcessStartInfo(string) or ProcessStartInfo(string,string) arguments without initializers. Preserve the original string expression once, its constructor settings and returned Process. Cover nonliteral document/executable/link inputs without inferring a URI scheme. Leave existing settings objects, named/other overloads, custom/unresolved calls, lambdas/queries, generic declarations and conditional snapshots unchanged. Standalone; does not establish handler availability, convert arguments or retarget projects.

OpenRewrite.Recipes.CSharp.Migration.Dotnet.Net3_0.PreserveFrameworkShellExecutionDefaults

Optional

FrameworkShellDefaultsConfirmedBoolean

Confirm these call sites depended on .NET Framework's UseShellExecute=true default and all consuming desktop runtimes support explicit shell execution (.NET Core 3+); exclude UWP/headless or intentional direct-execution contracts.

mod run . --recipe=OpenRewrite.Recipes.CSharp.Migration.Dotnet.Net3_0.PreserveFrameworkShellExecutionDefaults

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