Improve/simplify process on aligning XAML/WinUI version
Summary
Right now we support users specifying that they use WinUI3 at project creation time, which sets UseWinUI3 to true in their ExperimentalFeatures.props file.
We also allow users to override a flag in their react-native.config file.
Do we really need both mechanisms?
Motivation
We do a bunch of work during autolinking to "fix-up" files so that everything is using the same version of XAML, including reading the react-native config file, looking at ExperimentalFeatures.props, and then applying a bunch of changes to package.config files.
With the new PackageReference work, is it possible we can simplify and/or eliminate this part of autolinking?
Basic Example
No response
Open Questions
No response
Found while investigating #9518.
Not that the existing ensureXAMLDialect code caused any regression, but it does traverse file trees and touch the disk.
One option to avoid file traversal is to look up the appropriate WinUI property via whatever mechanism is used to solve #9165.
This design made more sense when we were tracking WinUI3 against UWP and being able to change at build time was more relevant. But these days this would be reasonable to restrict as a project-creation flag, not a modifiable build flag.
Also the rollout of PackageReference support has shifted requirements here.
Action should be to retire the build flag so we can reduce need to change at build time.
this may be done with the PackageReference work, right? if so can you close @jonthysell ?
@jonthysell can we close this issue now?