-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ARM64 as a supported architecture #5951
Comments
The project system get this information directly from the SDK |
This is controlled by |
@davkean I thought you said it came from the SDK. I am confused now, on what it will take to show x64. Should the template automatically add ARM64 to the and burn it to the project file? |
The SDK is the build, I was just adding context to the bug. |
/cc @dotnet/wpf-developers |
@dotnet/sdk - when will the ARM64 option be made available in the Platform Target drop-down? |
@benvillalobos check with Daniel on what are the risks of us updating the AvailablePlatforms in common targets. @tommcdon , are there any restrictions on when to show ARM64 and ARM32? I think the risk here is that MSBuild may not be aware of projects that don't support those targets. |
|
@benvillalobos I went ahead and put this in 16.10 as I think we have what we need from Tom. |
@dsplaisted how do we go about checking if we're specifically a console app? The only reference to a console app check I've found is line 5647 on Microsoft.Common.CurrentVersion.Targets: |
@drewnoakes How are you populating above? |
Non-console apps would have a FrameworkReference to the WindowsDesktop or AspNetCore framework. There wouldn't be a RuntimePack for the ARM RuntimeIdentifiers that aren't supported, so you'd get an error building a self-contained app targeting ARM. I don't think we have a block that would prevent you from building a shared framework app using an ARM RuntimeIdentifier. |
Those options are currently hard coded here: If they can be sourced from somewhere, we can add a dynamic enum value provider that surfaces them. |
They are already provided by the |
Surfacing it in the new property pages is now tracked via dotnet/project-system#7081. The current plan is to read the allowable values from |
Note that the property pages have always read it (indirectly) from AvailablePlatforms. This was a regression from the prior pages. |
Until this is fixed, what's the best way (if any) to make MSBuild pass /platform:ARM64 to CSC? |
@austinkinross At first glance, it looks like MSBuild calls csc and includes the platform like so: |
Visual Studio Version: 16.8
Summary: .NET 5 is adding support for Windows ARM64. Visual Studio .NET Core projects should allow you target ARM64 in addition to x86/x64/arm32.
Steps to Reproduce:
Create a .NET Core Console / Unit Test / ASP.NET Core project
Under Project properties, Build, you should be able to select "ARM64" as a target architecture
The text was updated successfully, but these errors were encountered: