Hide "Prefer Native ARM64" Checkbox in Legacy Property Pages for .NET Framework MSTest Projects
Summary
The "Prefer Native ARM64" checkbox appears in the old-style property pages for MSTest projects targeting .NET Framework, but it is currently ignored. This can lead to user confusion since the option does not apply to these project types.
To improve clarity and usability, this checkbox should be hidden specifically for .NET Framework MSTest projects. The implementation can be achieved by checking the project's capabilities and its target framework.
This issue is limited to legacy .NET Framework test projects and does not impact other project types. ARM64 support may be fully implemented by version 17.13 Preview 3, making this change a helpful interim solution.
Steps to Reproduce
- Open Visual Studio 2022 on an ARM64 Windows machine.
- Create a new MSTest project targeting .NET Framework.
- Open the project's property pages.
- Navigate to the Build section and locate the "Prefer Native ARM64" option.
Expected Behavior
The "Prefer Native ARM64" option should be hidden, disabled, or grayed out for .NET Framework MSTest projects.
Actual Behavior
The "Prefer Native ARM64" option is available and can be checked or unchecked, despite being non-functional.
User Impact
Users may be confused by the presence of this option, as it is currently non-functional for .NET Framework MSTest projects.
Note: Our team will update the documentation to clarify this behavior and inform users about its relevance and limitations.
Additionally, we would like to assess if the required code changes are too extensive for this request. Please do not implement this yet, as we would like to discuss the proposal further in this GitHub issue. cc: @nohwnd
Is this a limitation in MSTest? Does it apply to SDK-style projects that target .NET Framework and use MSTest too? That's a different property UI.
ARM64 support may be fully implemented by version 17.13 Preview 3, making this change a helpful interim solution.
How would we know whether the project supports ARM64, in order to know whether to enable this option?
17.13p3 isn't that far away. Is this issue impactful enough to need an interim solution?
How would we know whether the project supports ARM64, in order to know whether to enable this option?
Test projects already support ARM64. However, the current behavior deviates from the guidance outlined in the documentation https://devblogs.microsoft.com/visualstudio/how-to-run-net-apps-natively-on-arm64-devices/. We are planning to document this behavior for clarity.
Specially, MSTest Test Project (.NET Framework) is disregarding the "Prefer native ARM64" setting configured in the property page.
17.13p3 isn't that far away. Is this issue impactful enough to need an interim solution? I see. It is around the corner. In that case, in then next release.
@ocallesp so will MSTest start to respect the "Prefer native ARM64" setting in 17.3p3?
Pinging @ocallesp for clarity on what's needed here, if anything.