Add integration tests for third-party toolkit compatibility#34051
Draft
Add integration tests for third-party toolkit compatibility#34051
Conversation
Created ToolkitTests.cs with three test cases: 1. BuildWithCommunityToolkit - Tests MAUI compatibility with CommunityToolkit.Maui 2. BuildWithSyncfusionToolkit - Tests MAUI compatibility with Syncfusion.Maui.Toolkit 3. BuildWithMultipleToolkits - Tests MAUI with both toolkits simultaneously These tests help catch regressions where MAUI changes break compatibility with popular third-party packages. Co-authored-by: PureWeen <5375137+PureWeen@users.noreply.github.com>
Added comprehensive documentation explaining: - Purpose: Catch regressions breaking third-party package compatibility - Pattern: Similar to SampleTests.cs - Context: Reference to PR #34047 - Ecosystem impact: Ensures MAUI build system remains compatible with community packages Co-authored-by: PureWeen <5375137+PureWeen@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add integration test similar to SyncFusion toolkit tests
Add integration tests for third-party toolkit compatibility
Feb 14, 2026
dartasen
reviewed
Feb 14, 2026
Comment on lines
+3
to
+14
| /// <summary> | ||
| /// Integration tests that verify .NET MAUI builds successfully with popular third-party toolkit packages. | ||
| /// | ||
| /// These tests help catch regressions where MAUI changes break compatibility with widely-used community packages | ||
| /// such as CommunityToolkit.Maui and Syncfusion.Maui.Toolkit. By building template projects with these packages, | ||
| /// we ensure that MAUI's build system, MSBuild tasks, and SDK remain compatible with the broader MAUI ecosystem. | ||
| /// | ||
| /// Tests follow the same pattern as SampleTests.cs - creating projects from templates, adding package references, | ||
| /// and building to ensure no breaking changes have been introduced. | ||
| /// | ||
| /// See also: https://github.com/dotnet/maui/pull/34047 | ||
| /// </summary> |
Contributor
There was a problem hiding this comment.
I don't think building a project with the package will help avoid the breaking change with InternalVisibleTo. Since the toolkit version will likely target an older version of MAUI than the CI one, it will always build but will cause runtime errors only.
Would creating a sample with several toolkit controls help in some way ?
Just to ensure that the app can build and at least display the first page with various controls without crashing?
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
MAUI changes can break compatibility with popular ecosystem packages without being caught by existing tests. This adds integration tests that validate builds with commonly-used third-party toolkits.
Changes
New file:
src/TestUtils/src/Microsoft.Maui.IntegrationTests/ToolkitTests.csThree test scenarios (6 test cases: Debug + Release each):
Pattern
Each test:
TreatWarningsAsErrors=truePackage versions sourced from
eng/Versions.propsto stay current with tracked versions.Example
Part of "Build" test category, runs in standard integration test pipeline.
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
https://api.github.com/graphql/usr/bin/gh gh pr view 34047 --json title,body,files(http block)https://api.github.com/repos/dotnet/maui/pulls/34047/usr/bin/curl curl -s REDACTED git conf�� Fusion s/AppleTemplateTests.cs de/node/bin/grep red/Core.DeviceTgrep .Benchmarks.cspr-l d/Benchmarks.Drotoolkit\|34047 e.DeviceTests.cs./.github/skills/run-helix-tests/SKILL.md Unit�� amples/Controls.Sample/Pages/Controls/RadioButtonGalleries/RadioButtonContentGallery.xaml.cs .IntegrationTests/SampleTests.cs inks/src/Compatibility.Android.AppLinks.csproj ndroid/Compatibigrep ompatibility.Uni-l inUI/Compatibilitoolkit\|34047 OS/Compatibility./.github/skills/write-xaml-tests/SKILL.md(http block)If you need me to access, download, or install something from one of these locations, you can either:
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.