Append a reviewed modern target to shared build properties
ProprietaryAppends one released modern target to an exact reviewed .props literal framework list, preserving every old target and its spelling. Requires explicit review of all importers, SDK, conditions, packages, isolated outputs and CI. Does not participate in default migrations or infer MSBuild scope.
OpenRewrite. Recipes. CSharp. Migration. Dotnet. Net10. AppendReviewedSharedTargetRequired
Exact relative captured .props path; no globs.
Exact current literal framework-list property value, including separators. A mismatch is a no-op.
Optional
Literal framework-list property to append. Defaults to TargetFrameworks. A custom property must be referenced exactly once by a same-file unconditional TargetFrameworks list containing only supported literal targets and that reference.
Released portable target: net8.0, net9.0 or net10.0.
Set true only after reviewing every importer and override, ancestor/global/environment policy, SDK support for every retained and new target, package/condition compatibility, separate outputs, test host and CI/pack coverage, including files outside the captured model. Defaults to false.
Defaults to true; compositions may defer to a final EnsureCsprojAttestation.
mod run . --recipe= OpenRewrite. Recipes. CSharp. Migration. Dotnet. Net10. AppendReviewedSharedTarget \
-P ExactPropertiesPath= test/ Directory. Build. props \
-P ExpectedTargetFrameworks= 'net7.0;net6.0;net8.0;'Install it once, then run it on every repository under the current directory. New to the Moderne CLI? Set it up.