Microsoft-ui-xaml: Announcing WinUI 3 Preview 3! ✨🎉

Created on 17 Nov 2020  ·  16Comments  ·  Source: microsoft/microsoft-ui-xaml

WinUI 3 Preview 3

As mentioned in this morning's App Development Community Standup, we've just released WinUI 3 Preview 3! This release consists of a few key new features, improvements on existing functionality, and bug fixes.

WinUI is going to be released in a series of previews through 2021, when we expect to ship the WinUI 3.0 GA release.

New features in Preview 3

Here are some capabilities that are new since Preview 2:

  • ARM64 Support
  • Drag and drop inside and outside of apps
  • RenderTargetBitmap (currently only XAML content - no SwapChainPanel content)
  • Improvements to our tooling/developer experience:

    • Live Visual Tree, Hot Reload, Live Property Explorer and similar tools

    • Intellisense now working for WinUI 3

  • MRT Core Support

    • This makes apps faster and lighter on startup and provides quicker resource lookup.

  • Custom cursor support
  • Off-thread input
  • New, succinct Grid definition syntax, which was a community-driven feature request. 🎉

Please keep in mind that Preview 3 is still an early release product, and has a number of known issues and limitations that our team will be working on throughout upcoming releases. This preview is not intended for production apps.

Getting started with Preview 3

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 WinUI 3 Preview 3

We've recently published a whole new suite of API reference documentation for all of the new and lifted WinUI 3 APIs, which you can check out here: WinUI 3 API Reference. Make sure the version selector on the left displays "3.0-preview3".

Also, take a look at the walk-through documentation on building a UWP app with WinUI 3 Preview 3 and building a Desktop app with WinUI 3 Preview 3.

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.

For upgrading Preview 2 apps to Preview 3, carefully follow the instructions laid out here.

Using WinUI 3 Preview 3 with our ecosystem partners

Preview 3 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:

  • Windows Community Toolkit (Microsoft): The latest version of the WCT supports Preview 3, and provides tons of new controls and capabilities for use in your WinUI app. You can check out their open source repo here.

  • Uno Platform: Developers using WinUI have an option to take WinUI-built applications to WebAssembly, Linux, macOS, Android and Linux via community-driven open source project Uno Platform. To set up your environment and get started with Uno Platform follow instructions laid out here.

  • Telerik: Telerik UI for WinUI is an early experiment for the UI component suite, targeting WinUI 3 UWP apps. The Telerik UI preview includes several feature-rich controls including Charts, Gauges, DataGrid, and more.

  • SyncFusion: The SyncFusion WinUI controls preview includes a large variety of high performance and modern controls for WinUI 3 UWP apps. The initial preview includes a suite of controls for data visualization, notifications, navigation, and content editing.

  • DevExpress: : The entire suite of DevExpress UWP controls is now available for WinUI 3 UWP apps. Some example controls include Scheduler, chart controls, Navigation, DataGrid, and more.

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.

Issues and workarounds

There have been a few issues identified by our developer community, along with workarounds to solve them. Please take a look at the following before filing a new bug on Preview 3:

3649 - Setting tooltip using attached method syntax in resw no longer works in WinUI 3 Preview 3

3635 - Cannot build WinUI3 Preview3 desktop package project in fresh installed VS

3648 - WinUI3 Preview 3 package misses globbing pattern for PRIResource

discussion hot

Most helpful comment

Installed VS 2019 preview with Desktop and UWP workloads
Installed vsix for WinUI project templates
Created a WinUI Packaged desktop app
Won't build.

Error   MSB3774 Could not find SDK "Microsoft.VCLibs.Desktop, Version=14.0".    WUI (Package)   C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 2395    
Error   MSB3774 Could not find SDK "Microsoft.VCLibs, Version=14.0".    WUI (Package)   C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 2395    

Upgraded Nuget for Microsoft.VCRTForwarders.140 but that didn't help.

All 16 comments

Great news! When do we get to see the code? (I'll not ask latest timing of WinUI 3.0 as that gets mentioned in almost every community call)

Installed VS 2019 preview with Desktop and UWP workloads
Installed vsix for WinUI project templates
Created a WinUI Packaged desktop app
Won't build.

Error   MSB3774 Could not find SDK "Microsoft.VCLibs.Desktop, Version=14.0".    WUI (Package)   C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 2395    
Error   MSB3774 Could not find SDK "Microsoft.VCLibs, Version=14.0".    WUI (Package)   C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets 2395    

Upgraded Nuget for Microsoft.VCRTForwarders.140 but that didn't help.

@VagueGit It successes on one of my machine, and fails on another. I suspect it requires "C++ tools for UWP" workload. Confirming.

Edit: No idea about it. Exporting vsconfig from the working machine doesn't work on the other.

After viewing msbuild log, the working instance will resolve Microsoft.VCLibs from C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs.

@huoyaoyuan I have Windows SDK 10.0.19041.1. In C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs I have Microsoft.VCLibs.Desktop.110 and Microsoft.VCLibs.Desktop.120 but not version 14. Do you know where it comes from?

@VagueGit After trying, Microsoft.VCLibs.Desktop comes with C++ UWP tools workload. But Microsoft.VCLibs still doesn't come. I've confirmed it's not included in minimal C++ desktop workload, nor UCRT SDK.

I have versioned Microsoft.VCLibs.120, Microsoft.VCLibs.Desktop.110, and Microsoft.VCLibs.Desktop.120.

Commenting out the SDKReference in package project works for my application upgraded from Preview 2, but doesn't work for template project.

My project can run, but will fail with Can't find ResourceMap when loading any page with localization.

@stevenbrix @alwu-msft any insight on the issues mentioned above?

Many folks have been hitting this issue. For some, doing a repair of their VS install fixed it, for others it didn't.

I will reply back if I learn any more than that.

Encountered the same issue for my own UWP app. While doing a a repair in visual studio installer fixes the VC lib not found issue, I get the same ResourceMap not found problem as @huoyaoyuan . Here are some relevant logs:

'App.exe' (Win32): Loaded 'C:\Windows\System32\winnsi.dll'. 
D:\a\1\s\dev\MRTCore\mrt\Core\src\MRM.cpp(674)\MRM.dll!00007FFB45BD422B: (caller: 00007FFB65B5A068) ReturnHr(1) tid(4a78) 80073B1F ResourceMap Not Found.
Exception thrown at 0x00007FFBD2953E49 (KernelBase.dll) in App.exe: WinRT originate error - 0x80073B1F : 'ResourceMap Not Found.'.
'App.exe' (Win32): Loaded 'C:\Windows\System32\windows.storage.dll'. 
'App.exe' (Win32): Loaded 'C:\Windows\System32\wldp.dll'. 
Exception thrown at 0x00007FFBD2953E49 in App.exe: Microsoft C++ exception: winrt::hresult_error at memory location 0x000000B1694FA870.

Looks like MRTCore is the culprit?

@huoyaoyuan @roxk Would it be possible for you to share the project where you're seeing the "ResourceMap not found" error?

@alwu-msft It's a private repository for now, just invited you as a collaborator. It's the main branch.

Thanks for the quick response!

_Update_: Just pushed a commit explicitly about resource map not found. Previous commit would trigger a bunch of ToolTipService.ToolTip error and it's only after removing string resource entries with tooltip can you reproduce the resource not found issue.

@roxk The exception is non-fatal and execution can be continued past it. You're seeing it because you specified an x:Uid (on line 58 of MainPage.xaml) that does not have any matching string resources.

@alwu-msft Thanks! I see 2 points here:

  1. IIRC missing resources would not throw any exception in preview 2, is it an intended new behavior to throw for missing resources? (Not that I am against it, since it safe guards devs)
  2. The reason why those resources are missing is to avoid a bunch of XXX.ToolTipService.ToolTip exception. You should be able to reproduce it in the commit with the message "upgrade to winui 3 preview 3". The immediate commit before upgrading to preview 3 compiles and runs just fine with preview 2. Should I just file a new issue for it if it appears to be a separate issue from the VC lib issues?

_Update_: The ToolTipService.ToolTip exception is follows:

'App.exe' (Win32): Loaded 'C:\Windows\System32\winnsi.dll'. 
Exception thrown at 0x00007FFBD2953E49 (KernelBase.dll) in App.exe: WinRT originate error - 0x802B000A : 'Unable to resolve property 'ToolTipService/ToolTip' while processing properties for Uid 'RefreshPostsButton'. [Line: 44 Position: 110]'.
Exception thrown at 0x00007FFBD2953E49 in App.exe: Microsoft C++ exception: winrt::hresult_error at memory location 0x000000437B0FB8A8.

@anawishnoff Can you create a highlighted issue for collections of known issues of preview 3?

I've found three (#3635, #3648, #3649). After doing workaround for them, my project is running well.

During the lifetime of preview 2, I've seen several times people creating duplicated issues for the known issues.

And they should be also added to here.

Thanks @huoyaoyuan for filing these and finding workarounds! I'll add these issues to this post as it's pinned and the central space to discuss Preview 3.

I still experience Issue #2704 in preview 3.

Was this page helpful?
0 / 5 - 0 ratings