Good news to UWP developers: along with the new Visual Studio 2017, Microsoft has released .NET Native 1.6, which fixes a lot of the performance issues you may have experienced with Visual Studio 2015.

.NET Native is a precompilation technology for building and deploying Windows apps that is included in Visual Studio 2015 and 2017. It compiles the release version of UWP apps to native code. You can read more about this here.

You can test UWP applications without .NET Native compilation. But if you publish your application to Windows Store, it will be automatically compiled to .NET Native before people can download it. That's why it's important to always test your application with .NET Native compilation. Unfortunately, the first versions of .NET Native compiler had serious performance issues, and you still experience such issues if you use Visual Studio 2015.

With the release of Visual Studio 2017 and .NET Native 1.6, those performance issues have been resolved. .NET Native is now included within the Microsoft.NETCore.UniversalWindowsPlatform NuGet package, starting with version 5.3.0. This means that you can select the version of .NET Native you want to use by selecting a specific version of the Microsoft.NETCore.UniversalWindowsPlatform package (starting with version 5.3.0). Currently it is only supported in VS2017. Here's how to get .NET Native 1.6.

According to the VS2017 release notes, the updated .NET Native toolchain adds several optimizations to improve runtime performance for managed UWP apps in Visual Studio. The release includes more than 600 bug fixes and features to address key customer feedback and improve the overall quality of the toolchain.

.NET Native 1.6 is already supported in Windows Store. You can check how it affected our latest update of ComponentOne Studio UWP Edition. We also tested .NET Native 1.6 with our benchmarks, and can confirm that it provides a big performance difference in some scenarios, especially in x64 applications.

Please don't miss this update if you work with UWP!