Make shell execution explicit for URI-guarded launches
ProprietaryOpt-in desktop shell policy for a direct Process.Start(string) statement that is the sole positive branch statement of bound Uri.IsWellFormedUriString(value, UriKind.Absolute), optionally the final operand of a conjunction. Require the same bound identifier read; preserve all validation and launch reads, guard evaluation and failures. Adopt shell association for all schemes, without claiming mutable property stability or changing URI validation. Leave other branches/overloads/conditions, explicit settings and shared unsupported contexts unchanged. Separate from version upgrades; validate the desktop handler/environment.
OpenRewrite. Recipes. CSharp. Migration. Dotnet. Net3_0. UseShellExecuteForUriGuardedLaunchesmod run . --recipe= OpenRewrite. Recipes. CSharp. Migration. Dotnet. Net3_0. UseShellExecuteForUriGuardedLaunchesInstall it once, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.