Arm64 Visual Studio
We are excited to announce that the release of Visual Studio 2022 17.3 Preview 2 is now available as a native Arm64 application on Windows 11! This will be the first version of Visual Studio that will natively support building and debugging Arm64 apps on Arm-based processors.
Our key goal with this preview is to introduce and stabilize the most popular Workloads used by developers who are building apps that run on Arm64, and to gather feedback from the community to help us prioritize additional experiences and Workloads as we work toward General Availability (GA) later this year.
Bringing Visual Studio to Windows 11 on Arm64 today!
During the Microsoft Build 2022 conference the Windows team announced a new Arm64 desktop device focused on developers. We’re thrilled to join our Windows, .NET, and C++ partners in building a vibrant Arm64 developer toolchain. Today we deliver the latest version of Visual Studio that significantly reduces the dependence on x64 emulation. While the capabilities of the x64 emulator have expanded, we know that the very best Arm developer experiences will be supported by tools that run natively on Arm64.
Prioritizing the most important Workloads
Arm64 development is a long-term investment, and we have started this journey by focusing on the developer workloads needed to make Arm64 developers productive on Windows 11 Arm64. The first preview for Arm64 will launch today with the following Workloads enabled:
- Desktop development with C++ (for MSBuild-based projects)
- .NET desktop development (WinForms, WPF) using both .NET Framework, and modern .NET.
- NET and Web development
These Workloads will GA at the end of this calendar year, and we will be soliciting feedback from the developer community to help us prioritize even more experiences. Our overarching goal is to prioritize tools and features to run natively where possible and to use emulation only where necessary.
For managed developers
.NET 6 has had native support for Arm64 from day one, and this release extends native Arm64 support for the .NET Framework in the form of .NET Framework 4.8.1 runtime and SDK. You can now build managed desktop applications (Windows Forms and WPF) using both .NET 6+ and .NET Framework 4.8.1.
.NET Framework 4.8.1 is included in the next major update for Windows 11 shipping later this year and will be available for previous operating systems in the future.
While this first preview will include Windows Forms, WPF and Web apps, support for Windows App SDK, .NET MAUI, and Universal Windows Platform (UWP) will be available in subsequent previews.
When you start with the Arm64 version of Visual Studio before rebuilding your application make sure you update references to NuGet packages to their latest versions supporting Arm64. Most NuGet packages should just work with no additional changes needed (our analysis shows 98% of the top 1000 packages already work on Arm64).
For native developers
The MSVC toolset, including the C++ compiler, libraries and runtime, has supported targeting Arm64 for a while now, and we’re constantly improving the quality of the Arm generated code. When running directly on Arm64 devices however, the compilers would run emulated. With today’s release, you get access to the new native Arm64 MSVC compiler toolset, including its C++ Code Analysis capabilities, while still targeting all platforms currently supported by MSVC:
|Host architecture (the platform the compiler is running on)||Target architecture (the platform the compiler is generating binaries for)||Installation path|
|ARM64||ARM64, including ARM64EC*||<VS Install>\ VC\Tools\MSVC\<version>\bin\HostARM64\ARM64|
|ARM64||x86||<VS Install>\ VC\Tools\MSVC\<version>\bin\HostARM64\x86|
<VS Install>\ VC\Tools\MSVC\<version>\bin\HostARM64\x64
* Arm64EC allows you to build Arm64 native apps incrementally, by taking advantage of the native speed of ARM where available, and allowing x64 binaries to interop seamlessly in the same process (in emulation mode) where they’re not yet available on ARM.
If you are just getting started with Arm64 or considering it, rest assured that many of the C++ libraries you’re used to are already available on Arm64. Vcpkg also runs natively on Arm64, and while some dependent 3rd party tools may still run emulated, you are able to successfully build and consume 600+ C++ libraries directly in your native ARM64 build environment.
And if you are a Visual Studio C++ developer on a Windows 11 Arm64 device, we invite you to check out the latest Visual Studio preview. By installing the C++ Desktop Workload, you can load any desktop C++ projects and solutions using MSBuild to try any of the editing, building, and debugging capabilities you are already familiar with in Visual Studio. Additional C++ Visual Studio workloads (e.g., gaming) and build systems (e.g., CMake) will be supported in subsequent updates.
Installing Arm64 Visual Studio
There is a single installer for both x64 and Arm64 Visual Studio. The 17.3 preview 2 installer detects the system architecture and then downloads and installs the Arm64 version of Visual Studio on your Arm64 device (support is for Windows 11).
Please note, for Windows 11 Arm64, you must uninstall all previous versions of Visual Studio before installing the Visual Studio 2022 17.3 preview version.
Our official support for extension authors is coming soon! While native extensions will need to be rebuilt to support Arm64, we anticipate minimal updates required for .NET extensions compiled to AnyCPU.
We will be sharing more info on how to migrate your extensions to Arm64 in a future blog post, so stay tuned!
Get started with Arm64 Visual Studio preview today!
We have been building momentum to support our Arm64 developer community and it includes improvements across hardware, toolchains, and of course, Visual Studio, our flagship developer environment. For us, this is just the beginning of the journey; there will be more experiences coming during this preview period.
Today we are inviting Arm64 developers building Windows Forms, WPF, and native apps to check out our latest preview! To get going with the native Arm64 Visual Studio experience you will need to do the following:
- Ensure you have an Arm64 device with Windows 11.
- Uninstall any prior versions of Visual Studio 2022 from your Arm64 device.
- Download and install Visual Studio 2022 17.3 preview 2.
We’d love to hear from you about the experiences we are bringing online. Let us know what you like and whether you have suggestions for making Visual Studio even better on Arm64. You can share feedback with us via Developer Community: report any bugs or issues via report a problem and share your suggestions for prioritizing more Workloads.