Windows app developers who are coding their projects for UWP (Universal Windows Platform) have been nudged by Microsoft to abandon that platform and use WinUI 3 instead. However, some developers prefer the features that are available with UWP.
Today, those same developers can now try out a new way to upgrade those apps without going over to WinUI 3. Microsoft has just announced it has launched a public preview that adds support for .NET 9 for UWP apps.
In a blog post, Microsoft stated:
This preview is a set of updated tools and components that are part of .NET, Visual Studio, the Windows SDK, and more, to allow using the latest version of .NET and C# for building UWP apps. This preview does not introduce any new features for UWP. Instead, it provides a migration path for developers to modernize their apps with .NET 9 while they consider moving toward WinUI 3.
Basically, UWP app makers can now upgrade their apps to .NET 9 so they can take advantage of the Native AOT (Ahead Of Time) compilation, which compiles an app"s code directly into native machine code. After that update, those same developers can consider moving their UWP app to the WinUI 3 platform.
Developers who want to try this out should first get Visual Studio 2022 17.12 Preview 2, which launched earlier this week. Then they can follow these steps:
- Open the Visual Studio Installer.
- Under “Workloads” > “Desktop & Mobile”, select the “Windows application development” workload.
- Under “Optional” (in the right pane), select:
- “Universal Windows Platform tools”, which contains all tooling for UWP apps
- “Windows 11 SDK (10.0.26100.0)”, needed to build UWP XAML apps
They will then have to manually download the review Windows SDK bundle, which has the necessary XAML compiler that needs to be patched on their machine. Devs also have to install the latest nightly build of the .NET SDK on GitHub.
Since this is a preview version of .NET 9 support for UWP apps, Microsoft says users should expect to encounter some issues. The blog post has a list of what the team is working on to help improve this support for future updates.