question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Announcing: WinUI 3 in Windows App SDK 1.0! 🎆🎉🎇

See original GitHub issue

We’ve just shipped the latest stable version of WinUI 3, which is a part of Windows App SDK v1.0! This release includes several new features and lots of bug fixes and stability improvements. This version of WinUI 3 can be used for shipping production apps to the Microsoft Store.

Shipping WinUI 3 as a part of the Windows App SDK

In order to use this version of WinUI 3, you’ll download the Windows App SDK Visual Studio Extension (VSIX) to get started. The Windows App SDK VSIX includes WinUI Project Templates that you’ll use to build your WinUI 3 app, as well as access to other Windows App SDK components. The Windows App SDK package includes a reference to the WinUI 3 NuGet package.

For more on the Windows App SDK, see their documentation and repository. For installation instructions, see Set up your development environment.

What’s new

These are all of the new features and updates in WinUI 3 since the release of Windows App SDK 0.8:

  • We’ve added new controls (PipsPager, Expander, BreadcrumbBar) and updated existing controls to reflect the latest Windows styles from WinUI 2.6.
  • Single-project MSIX packaging is supported in WinUI by creating a new application using the “Blank App, Packaged…” template.
  • We now support deploying WinUI 3 apps without MSIX-packaging on Windows versions 1809 and above. Please view Create a WinUI 3 unpackaged desktop app for additional information.
  • WinUI 3 projects can now set their target version down to Windows 10, version 1809. Previously, they could only be set as low as version 1903.
  • In-app toolbar, Hot Reload, & Live Visual Tree for WinUI packaged apps are supported in Visual Studio 2022 Preview 5 and GA. If you need unpackaged tooling support, please vote for that here.

Experimental Features

This release does not include experimental features. If you’d like to continue using experimental features in your app, feel free to continue using the latest Windows App SDK 1.0 Experimental.

Known Issues

  • Known issues for both packaged and unpackaged WinUI applications:
    • Run-time error in C++ apps that reference a C++ Windows Runtime Component: To resolve, add the below target to the end of the Windows Runtime Component’s .vcxproj:
    <Target Name="GetPriIndexName">
    <PropertyGroup>
        <!-- Winmd library targets use the default root namespace of the project for the App package name -->
        <PriIndexName Condition="'$(RootNamespace)' != ''">$(RootNamespace)</PriIndexName>
        <!-- If RootNamespace is empty fall back to TargetName -->
        <PriIndexName Condition="$(PriIndexName) == ''">$(TargetName)</PriIndexName>
    </PropertyGroup>
    </Target>
  • Known issues for WinUI applications with Single-project MSIX (Blank App, Packaged template):

    • Missing Package & Publish menu item until you restart Visual Studio: When creating a new app with Single-project MSIX in both Visual Studio 2019 and Visual Studio 2022 using the Blank App, Packaged (WinUI 3 in Desktop) project template, the command to publish the project doesn’t appear in the menu until you close and re-open Visual Studio.
    • A C# app with Single-project MSIX will not compile without the “C++ (v14x) Universal Windows Platform Tools” optional component installed. View Install developer tools for additional information.
    • Potential run-time error in an app with Single-project MSIX that consumes types defined in a referenced Windows Runtime Component: To resolve, manually add activatable class entries to the appxmanifest.xml.
      • The expected error in C# applications is “COMException: Class not registered (0x80040154 (REGDB_E_CLASSNOTREG)).
      • The expected error in C++/WinRT applications is “winrt::hresult_class_not_registered”.
  • Known issues for WinUI applications without MSIX-packaging (unpackaged apps):

    • Some APIs require package identity and are not supported in unpackaged apps, such as:
      • ApplicationData
      • StorageFile.GetFileFromApplicationUriAsync
      • StorageFile.CreateStreamedFileFromUriAsync
      • ApiInformation (not supported on Windows 10)
      • Package.Current
      • Any API in the Windows.ApplicationModel.Resources namespace
      • Any API in the Microsoft.Windows.ApplicationModel.Resources namespace
  • Known issues for packaging and deploying WinUI applications:

    • The Package command is not supported in WinUI apps with Single-project MSIX (Blank App, Packaged template). Instead, use the Package & Publish command to create an MSIX package.
    • To create a NuGet package from a C# Class Library with the Pack command, ensure the active Configuration is Release.
    • The Pack command is not supported in C++ Windows Runtime Components to create a NuGet package.

Getting started

First, you’ll need to set up your dev environment with the appropriate technologies. See our documentation for installation instructions and more information on project types:

Install the Windows App SDK

Create WinUI 3 Projects

While you’re developing, check out the API Reference documentation.

Take a look at our walk-through docs:

You can also update your existing WinUI 3 app to use the new Windows App SDK 1.0 release using these instructions: Update existing projects to the latest release of the Windows App SDK.

We love feedback! We encourage you to file any bug, big or small, on our repo using this template. Knowing which issues and features are important and/or critical to our customers highly influences which ones we tackle. Even though we ship with the Windows App SDK, please continue to file WinUI-specific bugs on this repo.

Using WinUI 3 - Windows App SDK 1.0 with our ecosystem partners

This latest release is in the process of being integrated into several other important ecosystem technologies. To test out and follow that progress, check out some of our partner technologies below:

  • Actipro Software is migrating their vast UI control offerings over to WinUI 3, including their SyntaxEditor code editor, propertygrid, native type edit boxes, docking/MDI, charts, and more.

  • DevExpress: DevExpress has released 20 new WinUI controls with Windows App SDK support, including the Data Grid, Scheduler, Charts, Ribbon Toolbar, and more. All 20 UI components are available free-of-charge.

  • Esri: ArcGIS Runtime SDK for .NET adds mapping, spatial analytics, and location intelligence capabilities to your apps on Android, iOS, and Windows. Support for WinUI 3 is now available.

  • GrapeCity plans to bring their popular desktop UI controls to WinUI. Learn more about their data connection service components for WinUI.

  • Infragistics: Ultimate UI for WinUI brings business critical, high performing, and feature rich line of business controls to your apps that target any platform that runs Windows (including Windows on ARM64).

  • Syncfusion: UI Control toolkit supporting Windows App SDK with customizable controls.

  • Telerik UI for WinUI: the market first UI controls suite for crafting Win32 and UWP apps with WinUI 3, comes with feature-rich controls like Ribbon, DataGrid, Charts, Gauges, Barcode, and more.

  • Uno Platform: Use WinUI 3 – Windows App SDK 0.8, XAML and C# to build pixel-perfect, single-codebase, native applications that can run on Web, Desktop and Mobile. It is free, open-source and available today.

  • Windows Community Toolkit (Microsoft): The WCT is currently working on supporting Windows App SDK 1.0. It provides tons of new controls and capabilities for use in your WinUI app. You can check out their open source repo here.

What’s next

To keep up with progress being made on WinUI 3, please see our feature roadmap which gets updated regularly. We also give monthly updates on our WinUI Community Calls, where you can directly ask the team any questions you have.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Reactions:29
  • Comments:11

github_iconTop GitHub Comments

14reactions
jtorjocommented, Nov 16, 2021

Hi, This is pretty awesome!

A few notes:

  1. Speed - https://github.com/microsoft/microsoft-ui-xaml/issues/1633#issuecomment-968612478 - this really needs to be addressed. I really want to port my app to WinUI3, but that’s really really bad performance.
  2. Obviously, I’d like win2d ported ASAP, but apparently it’s not a priority for Microsoft. I may end up porting Direct2D myself.
5reactions
nikolayvpavlovcommented, Dec 13, 2021

Bugs, lacking features and slow performance are a problem. Worse, these problems give the impression that WinUI 3 is nothing more but a very unwanted foster child for Microsoft. At present, Microsoft treats it as a hobby project, not a serious SDK that developers should invest into.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Preview channel release notes for the Windows App SDK
The preview channel provides a preview of the next upcoming stable release. There may be breaking API changes between a given preview ...
Read more >
Create your first WinUI 3 (Windows App SDK) project
In this topic we'll see how to use Visual Studio to create a new project for a C# .NET or C++ app that...
Read more >
Windows UI Library in the Windows App SDK (WinUI 3)
The Windows App SDK provides a unified set of APIs and tools that can be used to create production desktop apps that target...
Read more >
WinUI 3」の最新安定版を「Windows App SDK 1.0」の一部 ...
米Microsoftは11月17日(日本時間)、「WinUI 3」の新しい安定版を「Windows ... We've just released WinUI 3 in Windows App SDK 1.0 Stable 🎆🎉🎇
Read more >
Stable channel release notes for the Windows App SDK
WinUI 3 is the native user experience (UX) framework for Windows App SDK. This release includes new features from WinAppSDK 1.0 as well...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found