This news comes at a great time, as this holiday season, our partners Lenovo and Samsung are offering new Windows 10 on ARM devices featuring the Qualcomm Snapdragon 850 processor. These second-generation ARM64 devices provide even more computing power for developers to tap into while continuing to deliver the beyond-all-day battery life customers expect from Windows 10 on ARM. Like the first-generation ARM64 devices, they are also thin, light, fast, and designed with instant-on 4G LTE connectivity in mind, while able to run the wide ecosystem of Windows applications thanks to an x86 emulation layer.
Developers can use Visual Studio 15.9 today to recompile apps – both UWP and C++ Win32 – to run natively on Windows 10 on ARM devices. Running natively allows applications to take full advantage of the processing power and capabilities of Windows 10 on ARM devices, resulting in the best possible experience for users.
Instructions
Back in May, we documented a number of steps needed in order to build as ARM64 using early preview tools. With official support in Visual Studio, that’s much easier.
To start, update to Visual Studio 15.9. If you are going to build ARM64 C++ Win32 apps, ensure you have installed the individual component “Visual C++ compilers and libraries for ARM64” as shown below:
After updating, for new UWP projects, you will see ARM64 as an available build configuration.
For existing projects, or for C++ Win32 projects, add an ARM64 configuration to your project:
- Right click on your Solution and select Properties, then navigate to Configuration Properties and select “Configuration Manager.”
- Under “Active solution platform:” select “<New…>” and call it ARM64. Copy settings from “ARM” or “x64” and check to create new project platforms.
Hit build, and you should have ARM64 binaries ready to run. Note that if your project lists runtimes in a project.json file, you may also need to add ‘win10-arm64-aot’ to the list for nuget packages to successfully restore.
To debug your app, you can use remote debugging, which is fully supported on ARM64. The download and instructions can be found at Remote Debugging on docs.microsoft.com. You can also create a package for sideloading or directly copy binaries over to a Windows 10 on ARM device to run your app.
To deliver your app to customers, the Store is now accepting ARM64 UWP apps, both C++ and .NET Native. You can also use the Desktop Bridge (instructions on docs.microsoft.com) to wrap ARM64 binaries into a package that can be submitted to the Store. And as always, you can also host dedicated ARM64 versions of your Win32 apps on your website or integrate ARM64 into existing multi-architecture installers.
Conclusion
With new Windows 10 on ARM devices sporting more powerful processors, the ARM64 platform continues to mature and improve. The release of Visual Studio 15.9 continues that evolution, and we can’t wait to see what amazing experiences developers can produce using these tools.
For answers to any questions or if you have feedback to share, head to our Windows 10 on ARM development page at http://aka.ms/Win10onARM or leave comments below.