Today, we are pleased to announce that Visual Studio 15.8 Preview 1 contains an early preview of the SDK and tools to allow you to
create your own 64-bit ARM (ARM64) apps. These tools answer the requests of many eager developers, and the development made possible with these tools represents the next step in the evolution of the Always Connected PC running Windows 10 on ARM.
Earlier this year, our partners released the first Always Connected PCs powered by Qualcomm Snapdragon 835 processors. These Always Connected PCs are thin, light, fast, and designed with instant-on 4G LTE connectivity and unprecedented battery life â now measured in days and weeks, not hours. Thanks to an x86 emulation layer, these Always Connected PCs also allow customers to tap into the wide ecosystem and legacy of Windows apps.
Developers interested in targeting this new ARM-based platform can use these early preview tools to build apps that run natively on ARM processors rather than relying on the emulation layer. While the algorithms that make emulation possible are engineered to optimize performance, running your app natively allows your customers to get the most performance and capability from your app on this new category of devices.
Since this is an early preview, there isnât official support yet for the ARM64 apps built with these tools. You wonât be able to submit ARM64 packages to the Microsoft Store, though you can post preview versions of ARM64 Win32 apps to your website. Stay tuned to this blog for more information as more support becomes available. In the meantime, you can use these preview tools to get a head start on developing your ARM64 apps and provide feedback before the tools are finalized.
In this post weâll look at how to set up your environment to build ARM64 apps, whether youâre building Universal Windows Platform (UWP) apps or C++ Win32 apps.
C++ UWP App Instructions
To build ARM64 UWP apps based on C++, start by setting up your development environment:
1) Download Visual Studioâs latest preview at
https://www.visualstudio.com/vs/
2) Choose the âUniversal Windows Platform developmentâ workload
3) Select the âC++ Universal Windows Platform toolsâ optional component
4) In Individual Components, select âC++ Universal Windows Platform tools for ARM64â
The Visual Studio Installer should look like this when everything that is required is selected:
After installing, you can get started on your app:
5) Open your C++ Project in Visual Studio, or create a new one
6) Right click on your Solution and select Properties, then navigate to Configuration Properties and select âConfiguration Managerâ
7) Under âActive solution platform:â select â<NewâŚ>â and call it ARM64. Copy settings from âARMâ and check to create new project platforms
8) If individual projects within the solution do not allow adding ARM64 as a platform, it may be because of dependencies. To learn more about the dependencies, you can modify those project files directly, copying the ARM configuration and modifying the platform to create an ARM64 configuration.
9) Save everything
ARM64 will now be available as a configuration for the project to build. Note that only Debug builds are supported for ARM64 at this time. You can create a package for sideloading or use remote debugging (see
instructions) to run the app on a Windows 10 on ARM PC.
.NET Native UWP App Instructions
To build ARM64 UWP apps that rely on .NET Native, start by setting up your development environment.
1) Download Visual Studioâs latest preview at
https://www.visualstudio.com/vs/preview/
2) Choose the âUniversal Windows Platform developmentâ workload
3) Open your project or create a new one. Note that the Target Platform Minimum Version must be set to at least âWindows 10 Fall Creators Update (Build 16299)â
4) Open the project file in your favorite editor and add a property group targeting ARM64. You can copy an existing property group, such as Debug|ARM, and modify it to support ARM64 with the changes highlighted below:
The UseDotNetNativeToolchain property is required to enable the .NET Native toolchain.
5) Save the project file and reload it in Visual Studio
6) Right click on your Solution and select Properties, then navigate to Configuration Properties and select âConfiguration Managerâ
7) Under âActive solution platform:â select â<NewâŚ>â and call it ARM64. Copy settings from âARMâ and check to create new project platforms
8) Update to latest ARM64 version of the tools:
a. Right-click your project and select âManage NuGet PackagesâŚâ
b. Ensure âInclude Prereleaseâ is selected
c. Select the Microsoft.NETCore.UniversalWindowsPlatform package
d. Update to the following version: 6.2.0-Preview1-26502-02
ARM64 will now be available as a configuration for the project to build. Note that only Debug builds of ARM64 are supported at this time. You can create a package for sideloading or use remote debugging (see
instructions) to run the app on a Windows 10 on ARM PC.
C++ Win32 App Instructions
Visual Studio 15.8 Preview 1 also includes an early level of support for rebuilding your C++ Win32 apps as ARM64 to run on Windows 10 on ARM.
1) Download Visual Studioâs latest preview at
https://www.visualstudio.com/vs/preview/
2) Choose the âDesktop development with C++â workload
3) In Individual Components, select âVisual C++ compilers and libraries for ARM64â
4) Open your project in Visual Studio or create a new one
5) Right click on your Solution and select Properties, then navigate to Configuration Properties and select âConfiguration Managerâ
6) Under âActive solution platform:â select â<NewâŚ>â and call it ARM64. Copy settings from âARMâ and check to create new project platforms.
7) Save everything
8) Open the project file in your favorite editor. Under <PropertyGroup Label=âGlobalsâ>, declare support for ARM64 by adding WindowsSDKDesktopARM64Support, as highlighted below:
9) Save and reload the project
You will now be able to build the project as ARM64 and either remote debug on a Windows 10 on ARM PC or copy over the EXE files and run them directly.
You can also use the Desktop Bridge (see
instructions) to wrap the built ARM64 binaries into a Windows app package that can be installed on Windows 10 on ARM PCs.
Conclusion
Weâre excited to open up Windows 10 on ARM to developers looking to build great apps compiled natively for the platform.
Visual Studio 15.8 Preview 1 provides an early preview of the full support that will be coming later this year. You can expect more updates as we work to bring these tools to an official release and open the Store to accept submissions for ARM64 packages.
We hope you give these tools a try on your apps and would love to hear from you. If you hit any issues, have any questions, or have feedback to share, head to our Windows 10 on ARM development page at
Windows 10 on ARM or leave comments below.
Continue reading...