Vanara icon indicating copy to clipboard operation
Vanara copied to clipboard

Work in Progress: Add WinUI 3 components and Controls

Open tajbender opened this issue 10 months ago • 10 comments

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

tajbender avatar Feb 09 '25 13:02 tajbender

succesor of obsolete / invalid PRs:

  • https://github.com/dahall/Vanara/pull/508
  • https://github.com/dahall/Vanara/pull/507

tajbender avatar Feb 09 '25 16:02 tajbender

Planned components and controls:

  • Explorer Browser

tajbender avatar Feb 09 '25 21:02 tajbender

@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

tajbender avatar Feb 13 '25 09:02 tajbender

@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 🥌

tajbender avatar Feb 16 '25 08:02 tajbender

@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! 🍭 🍰 😆 🐣

tajbender avatar Mar 06 '25 07:03 tajbender

  • 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).

tajbender avatar Mar 10 '25 09:03 tajbender

Official Requirements for Windows App SDK: https://github.com/dahall/Vanara/pull/507#issuecomment-2713830381https://github.com/dahall/Vanara/pull/507#issuecomment-2713830381

tajbender avatar Mar 11 '25 11:03 tajbender

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.

mateli avatar Mar 18 '25 07:03 mateli

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 🐛

tajbender avatar Mar 18 '25 08:03 tajbender

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.

mateli avatar Mar 18 '25 11:03 mateli