[release/6.0] Don't regress SkipLocalsInit optimization on < 6.0 .NETCoreApp assets #57868
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Customer Impact
netcoreapp3.1 and net5.0 assets which are part of the Microsoft.NETCore.App shared framework and ship inside a package need to keep the SkipLocalsInit optimization to avoid regressing perf. This would happen when referencing one of the 6.0 packages but consuming either the netcoreapp3.1 or net5.0 asset in it. The higher assembly version of the netcoreapp3.1/net5.0 asset would win over the same asset in the shared framework and without this fix, the SkipLocalsInit optimization would be lost.
Testing
Manually tested. Made sure that the optimization is correctly applied to netcoreapp3.1 or net5.0 assets which are part of the shared framework when producing the 6.0 package.
Risk
Low. This impacts 6.0 packages which contain netcoreapp3.1 or net5.0 assets that are part of the shared framework.
Contributes to #54964