CommunityToolkit / CommunityToolkit/Tooling-Windows-Submodule

Fix TFM precedence issues between netX.0 and netX.0-windows* in NuGet packages

Open
#238 13 comments 2 reactions 1 assignee Claimed by @Arlodotexe View on GitHub
bug :bug:
Dominant language
C#
Stars
55
Forks
19
Avg merge
40m
Merged PRs (30d)
1

Description

### Describe the bug

I was testing the new builds from `main` and noticed all UWP packages are broken on .NET 9:

![Image](https://github.com/user-attachments/assets/a14f57b0-282f-4f61-8e0c-cabdfdb0b0f1)

The core of the issue is that we have a `net9.0` TFM pulling in Uno dependencies. We should not do this. The official guidance for packages that have UI framework dependencies is to have **different packages** for different UI frameworks. Uno should have their own packages as well. We need 4:
- `*.Uwp`: UWP .NET Native and .NET 9
- `*.Uwp.Uno`: UWP XAML Uno flavor
- `*.WinUI`: WinUI 3
- `*.WinUI.Uno`: WinUI 3 Uno flavor

As a **short term solution**, we can add a `net9.0-windows10.0.26100.0` TFM to work around the issue for UWP .NET 9 consumers.

### Code Platform

- [x] UWP
- [ ] WinAppSDK / WinUI 3
- [ ] Web Assembly (WASM)
- [ ] Android
- [ ] iOS
- [ ] MacOS
- [ ] Linux / GTK

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.