Work in Progress: Add WinUI 3 components and Controls
Add WinUI 3 components and Controls 🚶
Is your feature request related to a problem?
I am working on some WinUI3 stuff that could be merged into Vanara for public audiences as soon as it's done.
Describe the additions or enhancements you'd like
- Nothing curently. This is Work in Progress.
Previous work
- There are debug versions integrated into @tajbender's WinUI3 stuff found here: https://github.com/tajbender/electrifier.v1.24 fork
- https://github.com/tajbender/electrifier.v1.24/tree/Saint-Nicholas
- https://github.com/electrifier/Vanara/pull/2
succesor of obsolete / invalid PRs:
- https://github.com/dahall/Vanara/pull/508
- https://github.com/dahall/Vanara/pull/507
Planned components and controls:
- Explorer Browser
@dahall If you're idle you could try to build the stuff. I, currently, cannot.
I get build errors after re-installing my machine several time. I'm on Windows 11:
Edition Windows 11 Pro Version 24H2 Installed on 11/02/2025 OS build 26120.3073 Experience Windows Feature Experience Pack 1000.26100.50.0
@dahall If you're idle you could try to build the stuff. I, currently, cannot.
I get build errors after re-installing my machine several time. I'm on Windows 11:
Edition Windows 11 Pro Version 24H2 Installed on 11/02/2025 OS build 26120.3073 Experience Windows Feature Experience Pack 1000.26100.50.0
Never mind...
- I've setup a stub: https://github.com/tajbender/Vanara-WinUI3-Extension-Base
- ...and created a complete new solution based on recent WinUI WinSDK Vanara
That's the final code base for next Release.
Regards, keep on 🥌
@dahall This. Is. Soooo. Weird.
I've set up a complete new project, but even before I add some code I ran into the same problems I had before ➿
The problems arise as soon I want to get rid of that little WARNING ⚠
| Code | Description | Project | File | Line |
| NETSDK1138 | The target framework 'net7.0-windows10.0.19041.0' is out of support and will not receive security updates in the future. Please refer to https://aka.ms/dotnet-core-support for more information about the support policy. | electrifier | C:\Program Files\dotnet\sdk\9.0.200\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.EolTargetFrameworks.targets |
32 |
To be honest, this thing already made me crazy. When I switch to .net8, I have to replace platform-ids with win-x86, win-x64 instead of win10-x86, win10-x64. That's okay, although .net6 should work, too, shouldn't it?
But, when doing so, sooner or later I get other warnings and errors that do conflict the whole project setup. I guess it has to do with the Template created from Template Studio and then messing around with .net-fw, language versions, etc. pp.
I won't mess around anything on my current, new electrifier-branch. If you want to support .net6, I would let you know you are welcome to already warm up Google! 🍭 🍰 😆 🐣
- WinUI3 and WinAppSDK Requirements: https://github.com/dahall/Vanara/pull/507#issuecomment-2709912273
- Backtracking: WinUI 3 official Requirement:
Okay, I found the requirements: https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/system-requirements The Windows App SDK has the following minimum system requirements:
- Windows 10, version 1809 (build 17763) or later.
- Visual Studio 2022, version 17.0 or later, with the required workloads and components.
- Visual Studio 2019, version 16.9 or later, with the required workloads and components.
- Windows SDK, version 2004 (build 19041) or later (included with Visual Studio 2019 and 2022 by default).
- If you plan to build .NET apps, you'll also need .NET 6 or later (see Download .NET).
Official Requirements for Windows App SDK: https://github.com/dahall/Vanara/pull/507#issuecomment-2713830381https://github.com/dahall/Vanara/pull/507#issuecomment-2713830381
There are two ways to get rid of warning NETSDK1138. Either you use a newer version of dotnet or you disable it in the project settings. I am still using dotnet 5 for several projects and upgrading depends on doing a huge amount of testing. As I know that this software works with dotnet 5 it is a huge risk to move to a newer framework so I just disable and ignore the warnings. To be fair this is not internet-facing software where security would be an issue.
In fact I am looking at making a Java port where Java 8 is still supported. Java 8 was released in 2014 and it has support at least until November 2026. Of course Java 8 is a special case and it is unclear if any of the newer versions will have 12 years of support. Adoptum lists Java 25 for 6 years of support which is half of the 8 support window. There are also paid support for Java that extends back to Java 6.
There are two ways to get rid of warning NETSDK1138. Either you use a newer version of dotnet or you disable it in the project settings. I am still using dotnet 5 for several projects and upgrading depends on doing a huge amount of testing. As I know that this software works with dotnet 5 it is a huge risk to move to a newer framework so I just disable and ignore the warnings. To be fair this is not internet-facing software where security would be an issue.
Thanks for your help on this, @mateli
you are right, I don't think this warning is worth to care too much about. I just wonder where it came from, and, why this issue seems so little known.
As my previous versions were more proof of concept, I even didn't mind restarting the whole thing to get a clean version with somehow actual package dependencies. Funny thing, though, that I got the message even while restarting from scratch, afaik it even popped up before importing any non-sdk packages, neither Vanara nor Community Toolkit.
However, older versions compiled fine, but NETSDK1138 popped up as far as I remember last autumn. Which versions of VS, WinAppSDK, .net etc. introduced this Issue is not in my scope, but to be honest, I hope it will disappear anytime soon much the way it popped up - without anyone knowing what was/has changed 😀
Sometimes, I guess, it's better to know not everything in depth, never change a running system 🐛
We are going to migrate form .NET 5 eventually and while I were planning to use dotnet 8 it now feels more like dotnet 10 in November if we are ready by then. But there is a chance that it will be another LTS released further into the future.