Disable AppThemeBinding source generation for .NET 10#33219
Merged
Conversation
Co-authored-by: PureWeen <5375137+PureWeen@users.noreply.github.com>
Co-authored-by: PureWeen <5375137+PureWeen@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Apply changes from PR 33101 and PR 33107 to main branch
Disable AppThemeBinding source generation for .NET 10
Dec 18, 2025
PureWeen
requested changes
Dec 18, 2025
| @@ -0,0 +1 @@ | |||
| {"version":3,"file":"HybridWebView.js","sourceRoot":"","sources":["HybridWebView.ts"],"names":[],"mappings":"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"} No newline at end of file | |||
Co-authored-by: PureWeen <5375137+PureWeen@users.noreply.github.com>
This was referenced Dec 18, 2025
PureWeen
approved these changes
Dec 22, 2025
Contributor
There was a problem hiding this comment.
Pull request overview
This PR backports changes from PRs #33101 and #33107 to the main branch, disabling AppThemeBinding source generation for .NET 10 while preparing for .NET 11. The changes use conditional compilation (#if NET11_0_OR_GREATER) to make AppThemeBinding features available only in .NET 11+, while maintaining backward compatibility with .NET 10.
Key changes:
- AppThemeBinding class and AppThemeResource constant made public only for NET 11+
- AppThemeBindingHelpers source generation removed entirely
- AppThemeBinding markup extension support conditioned on NET 11+
- Object initializer syntax replaces helper method calls in generated code
- Tests wrapped with NET 11+ conditional compilation
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Controls/src/Core/AppThemeBinding.cs | Makes class and AppThemeResource constant public for NET11+, removes TODO comment |
| src/Controls/src/SourceGen/KnownMarkups.cs | Wraps AppThemeBinding extension method with NET11+ directive, replaces helper method logic with object initializer approach |
| src/Controls/src/SourceGen/XamlGenerator.cs | Removes AppThemeBindingHelpers source generation (170 lines deleted) |
| src/Controls/src/SourceGen/NodeSGExtensions.cs | Conditionally includes AppThemeBindingExtension in late markup extensions dictionary for NET11+ |
| src/Controls/tests/SourceGen.UnitTests/InitializeComponent/AppThemeBinding.cs | Wraps entire test class with NET11+ directive, updates expected generated code to use object initializers |
Member
|
StephaneDelcroix
pushed a commit
that referenced
this pull request
Jan 5, 2026
- [x] Apply changes from PR #33101 to AppThemeBinding.cs (make class public for NET11+, make AppThemeResource public) - [x] Apply changes from PR #33101 to KnownMarkups.cs (replace helper methods with object initializers) - [x] Apply changes from PR #33101 to XamlGenerator.cs (remove AppThemeBindingHelpers generation) - [x] Apply changes from PR #33101 to test file (wrap with NET11_0_OR_GREATER) - [x] Apply changes from PR #33107 to KnownMarkups.cs (wrap method with NET11_0_OR_GREATER) - [x] Apply changes from PR #33107 to NodeSGExtensions.cs (wrap dictionary entry with NET11_0_OR_GREATER) - [x] Verify changes compile successfully - [x] Run relevant tests to ensure functionality (123 SourceGen tests passed, 34 AppTheme XAML tests passed) - [x] Code review completed (no issues found) - [x] Security scan completed (no vulnerabilities found) - [x] Remove unrelated HybridWebView.js.map file (per review feedback) <!-- START COPILOT CODING AGENT SUFFIX --> <!-- START COPILOT ORIGINAL PROMPT --> <details> <summary>Original prompt</summary> > Please apply the changes from #33101 and #33107 to the main branch </details> <!-- START COPILOT CODING AGENT TIPS --> --- ✨ Let Copilot coding agent [set things up for you](https://github.com/dotnet/maui/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: PureWeen <5375137+PureWeen@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.