Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Visual Studio is built to target processors based on the x86 architecture, and there are no versions of Visual Studio for ARM-based processors. This article provides information about running Visual Studio via x86 emulation and remotely targeting Arm devices.
Visual Studio can run on ARM-powered devices via x86 emulation, though some features aren't currently supported on Azure Resource Manager. Therefore, we don't recommend running Visual Studio 2019 on devices that use ARM-based processors. Instead, we recommend remotely targeting ARM devices.
See Visual Studio 2019 System Requirements for supported operating systems, hardware, supported languages, and other requirements and guidance.
Visual Studio 2022 version 17.4 is now available as a native Arm64 application on Windows 11 for Arm-based PCs. It's the first version of Visual Studio that natively supports building and debugging Arm64 apps on Arm-based processors. Visual Studio 2022 version 17.4 and later eliminate the dependence on x64 emulation for most developer workloads. This article describes how to get started with Visual Studio for Arm64.
Get started with Visual Studio for Arm64
To get started with the native Arm64 Visual Studio experience:
- Ensure that Windows 11 is installed on your Arm64 device.
- Uninstall any prior versions of Visual Studio from your Arm64 device.
- Download and install the latest version of Visual Studio 2022.
Installing Visual Studio for Arm64
There's a single installer for both Visual Studio x64 and Visual Studio Arm64 architectures. The Visual Studio Installer detects whether the system architecture is Arm64. If it is, the installer downloads and installs the Arm64 version of Visual Studio. (Only Windows 11 is supported.) If you install the product via a layout, you need to explicitly configure the layout to include Arm binaries.
Note
To use Visual Studio for Arm64, you must uninstall all previous versions of Visual Studio (x64, x86) before you install Visual Studio 2022 17.4 or later.
Supported workloads
Visual Studio for Arm64 supports the following workloads:
- .NET desktop development
- Desktop development with C++
- ASP.NET and web development
- Node.js development
- Visual Studio extension development
- Game development with C++
- Game development with Unity
- Windows application development
- .NET Multi-platform App UI development (.NET MAUI)
- Linux and embedded development with C++
- Database development with SQL Server Data Tools
Managed development
With this release, you can build desktop applications (Windows Forms and WPF) targeting both .NET 6 and later and .NET Framework 4.8.1. .NET Framework 4.8.1 is included in Windows 11 and is installable on some versions of Windows 10.
Native development
With Visual Studio 2022 17.4 and later, you can access the native Arm64 Visual C++ compiler toolset, which includes C++ code analysis, and still target all platforms currently supported by Visual C++.
Host architecture (platform the compiler is running on) | Target architecture (platform the compiler is generating binaries for) | Installation path |
---|---|---|
Arm64 | Arm64 | <Install location>\VC\Tools\MSVC\<version>\bin\HostARM64\ARM64 |
Arm64 | X64 | <Install location>\VC\Tools\MSVC\<version>\bin\HostARM64\x64 |
Arm64 | X86 | <Install location>\VC\Tools\MSVC\<version>\bin\HostARM64\x86 |
Many C++ libraries are available on Arm64. vcpkg also runs natively on Arm64, and although some dependent non-Microsoft tools might still run emulated, you can successfully build and consume more than 1,700 C++ libraries directly in your native Arm64 build environment.
If you install the Desktop development with C++ workload, you can load any desktop C++ project and solution using MSBuild, and then use the editing, building, and debugging capabilities that you're already familiar with in Visual Studio.
Visual Studio versions before 17.4
Visual Studio 2022 versions before 17.4 can run on Arm-powered devices via x64 emulation, but some features aren't supported on Arm. Therefore, we don't recommend running these versions of Visual Studio on devices that use Arm-based processors. Instead, we recommend remotely targeting Arm devices.
See Visual Studio 2022 System Requirements for supported operating systems, hardware, supported languages, and other requirements and guidance.
Remotely targeting ARM devices
For the best experience, we recommend that you use Visual Studio on a separate x86-powered computer, and use the remote deployment and debugging features in Visual Studio to target the ARM-based device. For information about debugging Universal Windows Applications already installed on the device, see Debug an installed UWP app package in Visual Studio. For information about debugging a new app, see Debug UWP apps on remote machines from Visual Studio. For all other application types, see the remote debugging documentation.
Tips for running Visual Studio on ARM devices
Use only when needed
You can run Visual Studio on an ARM processor by using x86 emulation. Some features might not be supported in this emulation, and performance might be slower when you use emulation for ARM-based processors. You might consider remotely targeting ARM devices.
Install time
Plan for Visual Studio to take longer to install, and expect it to pause for periods of time or require a restart.
Remote tools
To debug an app running on a remote device, you need to download and install the remote tools for ARM.
Start debugging
Not all Visual Studio projects are configured to launch projects locally when you start debugging (F5) from an ARM device. You need to configure Visual Studio for remote debugging, even though your app is running locally. For more information, see remote debugging.
We need your help!
Let us know what you like and whether you have suggestions for making Visual Studio better on Arm64. You can share feedback via Developer Community: report any bugs or issues via report a problem and share your suggestions for prioritizing more workloads.