Skip to content

Support Windows ARM64 #36699

Description

@richlander

Support Windows ARM64

We are in the process of adding support for Windows ARM64 as part of the .NET 5.0 project. As a result, you will be able to run Windows Forms, WPF and ASP.NET Core apps on Windows ARM64 devices, such as the Surface Pro X.

We intend to support the same .NET capabilities on ARM64 as on x64. Related: #35853

This project follows a similar effort to add Console and ASP.NET Core support for Linux ARM64.

The .NET 5.0 Preview 4 SDK supports building and running ASP.NET Core and Console apps.

You can install master branch builds if you would like want to test Windows Forms on ARM64. master branch builds do not yet include WPF support for ARM64.

Remaining .NET 5 Work

Post .NET 5 Work

  • Produce and publish Windows Desktop Runtime Pack for ARM64
    • Add Windows Forms to the Windows Desktop Runtime Pack
    • Add WPF to the Windows Desktop Runtime Pack
  • Add Windows Desktop framework to the SDK
    • Add Windows Forms to the Windows Desktop framework in the SDK
    • Add WPF to the Windows Desktop framework in the SDK
    • Crossgen Windows Desktop Pack for ARM64
  • Test PowerShell on Windows ARM64 (PowerShell team will do this, but it is an important signoff criteria)

Timeline

The following timeline is for .NET 5.0 and Windows ARM64:

  • .NET 5.0 Preview 4 -- Ship the .NET SDK, without Windows Desktop
  • .NET 5.0 Preview 5 -- Add Windows Desktop to SDK, with Windows Forms
  • .NET 5.0 Preview 6 -- Add ARM64 MSI installer for .NET Runtime
  • .NET 5.0 RC2 -- Add ARM64 MSI installer for SDK
  • TBD -- Add WPF to Windows Desktop

After this project is complete, the Windows ARM64 SDK will have functional parity with x64.

Examples

The following image demonstrate the Conway's Game of life VB sample running on Windows ARM64.

2020-05-15

The following demonstrates displaying version information in a Windows Forms app on ARM64.

image

The following image demonstrates 32-bit x86 Windows PowerShell 5.1 running emulated (on .NET Framework 4.8), and 64-bit ARM64 PowerShell 7.1 running natively (on .NET 5.0) on Windows ARM64.

2020-05-15 (5)

See PowerShell/PowerShell to download the Windows ARM64 version. You can also install the PowerShell .NET tool on Windows ARM64.

See versioninfo for APIs that you can use to get version and architecture information.

Activity

  1. Dotnet-GitSync-Bot commented on May 19, 2020

    @Dotnet-GitSync-Bot
    Collaborator

    I couldn't figure out the best area label to add to this issue. Please help me learn by adding exactly one area label.

  2. added this to the 5.0 milestone on May 19, 2020
  3. changed the title [-]Epic: Support Windows ARM64[/-] [+]Support Windows ARM64[/+] on May 19, 2020
  4. removed
    untriagedNew issue has not been triaged by the area owner
    on May 19, 2020
  5. added
    EpicGroups multiple user stories. Can be grouped under a theme.
    on Jun 1, 2020
  6. JensNordenbro commented on Jun 2, 2020

    @JensNordenbro

    Hi!

    I would like to request Windows IoT Enterprise to gain .NET5 support on Windows ARM64 (including Windows Forms, WPF, ..).

  7. voronoipotato commented on Aug 11, 2020

    @voronoipotato

    Thanks Joel for referring to this issue :) I didn't know this existed.

  8. JensNordenbro commented on Aug 17, 2020

    @JensNordenbro

    @richlander ; It is not clear when to expect ASP.NET Core support on Windows ARM64.
    The description says "The .NET 5.0 Preview 4 SDK supports building and running ASP.NET Core and Console apps." however .NET 5 preview 6 as well as 7 renders the following message upon building an ASP.NET Core application:
    C:\Program Files\dotnet\sdk\5.0.100-preview.6.20318.15\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets(376,5): error NETSDK1082: There was no runtime pack for Microsoft.AspNetCore.App available for the specified RuntimeIdentifier 'win-arm64'.

    #36699 seems to be in line with what I am expecting but it would be nice to know which preview it is scheduled for! Thanks :)

  9. danmoseley commented on Aug 24, 2020

    @danmoseley
    Contributor

    Closing as we have completed this for 5.0.

  10. danmoseley commented on Aug 24, 2020

    @danmoseley
    Contributor

    @richlander anything left here - can we close it now?

  11. Alovchin91 commented on Aug 24, 2020

    @Alovchin91

    There are still no MSI installers available for Arm64. Is there a separate tracking issue for those? What is the plan to deliver the installers? Thanks!

  12. danmoseley commented on Aug 24, 2020

    @danmoseley
    Contributor

    @dsplaisted @dagood can one of you answer that question?

  13. 19 remaining items

  14. mairaw commented on Aug 27, 2020

    @mairaw
    Contributor

    We pushed some fixes to the website yesterday and now we have the ARM64 entry for Windows runtime as well.

  15. ericstj commented on Sep 8, 2020

    @ericstj
    Member

    @tommcdon can you update with any remaining work needed for this to be complete in 5.0?

  16. joeloff commented on Sep 8, 2020

    @joeloff
    Member

    SDK is waiting on the ASP.NET changes - that PR is being reviewed. Once that's in we can start on the SDK installers.

  17. danmoseley commented on Sep 10, 2020

    @danmoseley
    Contributor

    @joeloff it seems to me there is no longer value in having this meta-issue open. It's purpose was for the community to see what was going on during the cycle. You have individual issues for the work you mention, right? If you confirm that we can close this.

  18. tommcdon commented on Sep 10, 2020

    @tommcdon
    Member

    @tommcdon can you update with any remaining work needed for this to be complete in 5.0?

  19. danmoseley commented on Sep 10, 2020

    @danmoseley
    Contributor

    Shall we close this in favor of dotnet/installer#8470?

  20. tommcdon commented on Sep 10, 2020

    @tommcdon
    Member

    Shall we close this in favor of dotnet/installer#8470?

    Closing this issue as we have a pending PR that completes .NET 5.0 for Windows ARM64 support.

  21. Alovchin91 commented on Oct 2, 2020

    @Alovchin91

    Is there a tracking issue for WPF on Arm64 and adding back the Desktop Pack support? Would be nice to have links in the original post.

  22. ghost locked as resolved and limited conversation to collaborators on Dec 9, 2020
  23. fabiant3 commented on Jan 22, 2021

    @fabiant3

    dotnet/wpf#4048 is a recent pull request pointing at a few other ARM64 related issues. We are aiming to have WPF ARM64 support in the upcoming .NET6 Preview1.

  24. richlander commented on Jan 26, 2021

    @richlander
    MemberAuthor

    Here is a tracking issue: dotnet/installer#8905.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions