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.
Here are some capabilities that are new since Preview 2:
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.
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:
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.
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.
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.
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:
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:
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.
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.
Upgraded Nuget for Microsoft.VCRTForwarders.140 but that didn't help.