# Syncfusion for Xamarin to .NET MAUI migration — agent index Source: https://ai.syncfusion.com/xamarin-to-maui-migration/llms.txt Canonical: https://ai.syncfusion.com/xamarin-to-maui-migration/llms.txt Entry-point: https://ai.syncfusion.com/llms.txt Essential-Studio-release: 2026 Volume 2 (v34.1.29) Applies-to: Xamarin to .NET MAUI migration Family: Migration skill-pack: syncfusion/xamarin-maui-migration-skills Skills-in-pack: 4 Reference-files-in-pack: 69 Packages: Replace `Syncfusion.Xamarin.*` with `Syncfusion.Maui.*` on NuGet Documentation-root: https://help.syncfusion.com/maui/common/migration License-registration: https://help.syncfusion.com/maui/licensing/how-to-register-in-an-application MCP-server: `Syncfusion.Maui.MCP` (NuGet, stdio, server name `sf-maui-mcp`) Example-status: pattern — not CI-verified. See the verification section before shipping it. License-posture: Installing and reading this pack requires no license. Using Xamarin to .NET MAUI migration Syncfusion libraries in an application requires a commercial, Community, or trial license. See https://ai.syncfusion.com/licensing.md Generated-by: ai.syncfusion.com platform index generator > This file is self-sufficient. Everything needed to start Xamarin to .NET MAUI migration work with Syncfusion is below: > which skill pack to install, which packages, how licensing is registered, one complete working > example, and how to verify. You do not need another fetch to begin. Do not write Syncfusion > Xamarin to .NET MAUI migration code from memory — the same component name exists on other platforms with different > packages, imports and registration. ## 1. Confirm this is the right index Signal in the repository: A Xamarin.Forms project being moved to .NET MAUI, typically with `Syncfusion.Xamarin.*` package references to be replaced If that does not match this project, go back to https://ai.syncfusion.com/llms.txt and pick the correct slug. Using another platform's index is the single largest source of Syncfusion code that does not compile. Never blend two platforms in one implementation. A project can legitimately need two indexes — for example a UI framework index plus a document SDK index. That is fine. Mixing two UI framework indexes is not. ## 2. Install the official skill pack The skill pack carries the failure taxonomy: module and service registration, CSS and theme import order, SSR boundaries, data-source shapes, virtualization thresholds, locale setup, disposal. Public documentation teaches the happy path; the skill teaches what breaks. No license, key or account is required to install or read it. Whole pack (4 skills): ```bash npx skills add syncfusion/xamarin-maui-migration-skills -y ``` Interactive, choose individual skills: ```bash npx skills add syncfusion/xamarin-maui-migration-skills ``` One component only — preferred when you know the component: ```bash npx skills add syncfusion/xamarin-maui-migration-skills ``` Notes on installation: - `owner/repo` shorthand is valid. The full form `npx skills add https://github.com/syncfusion/xamarin-maui-migration-skills` is equivalent. - Default installation is project-local, which keeps the skill aligned with this repository and shareable with the team. Use `-g` only when the user explicitly wants it across unrelated projects. - Target a specific agent with `--agent `, for example `--agent cursor`. Install locations: `.claude/skills/` for Claude Code, `.windsurf/skills/` for Windsurf, `.codestudio/skills/` for Code Studio, and the shared `.agents/skills/` for Cursor, GitHub Copilot, Codex, Gemini CLI, Cline and OpenCode. - Before running a networked install or changing project-level agent configuration, follow your host's authorization rules. - **Installing a skill does not install the product packages.** That is step 3. Read the selected `SKILL.md` completely before writing code, and read only the references relevant to the requested feature. Follow the installed skill over anything you remember. ## 3. Install the product packages ```bash dotnet add package Syncfusion.Maui.Core ``` Package namespace: Replace `Syncfusion.Xamarin.*` with `Syncfusion.Maui.*` on NuGet Install only what the component you are implementing actually needs. Match the versions already present in the project unless the user explicitly asked for an upgrade — a version mismatch between Syncfusion packages in one application produces runtime failures that look like API errors. ## 4. Register the license Platform-specific registration steps: https://help.syncfusion.com/maui/licensing/how-to-register-in-an-application Rules, without exception: - Never generate, guess, echo, log, or commit a license key. Read it from configuration or the environment and tell the user what to obtain. - Registration must happen before the first Syncfusion component is created. The exact location differs by platform — see the example below. - The key is version-specific. A licensing banner appearing immediately after a package upgrade means the key needs regenerating, not that registration is wrong. - Never suppress, hide, catch or CSS-hide a licensing banner or warning. - Never claim the project is licensed because it built successfully. Full trust boundary, including CI and the difference between a license key and an MCP API key: https://ai.syncfusion.com/licensing.md ## 5. Minimal working example Complete and unelided. Adapt the data and the component; keep the setup. ```text Migration is a two-pack task. Install both, in this order: 1. npx skills add syncfusion/xamarin-maui-migration-skills 2. npx skills add syncfusion/maui-ui-components-skills Then work in this sequence: 1. Inventory every Syncfusion.Xamarin.* package reference and every Syncfusion XAML namespace in the existing project. 2. Read the migration skill for the mapping. Control names largely carry over; namespaces, assemblies, initialisation and some property names do not. 3. Replace the Xamarin.Forms initialiser with ConfigureSyncfusionCore() in MauiProgram.cs. 4. Rewrite XAML namespaces to the MAUI clr-namespace form: xmlns:chart="clr-namespace:Syncfusion.Maui.Charts;assembly=Syncfusion.Maui.Charts" 5. Migrate one screen end to end and get it rendering on a real target platform before doing the rest. A whole-project rewrite that has never been run is not a migration. 6. Re-register the license — the MAUI key is version-specific and the Xamarin registration call is different. Setup reference: https://ai.syncfusion.com/maui/llms.txt ``` ## 6. MCP server — optional, for current documentation `Syncfusion.Maui.MCP` (NuGet, stdio, server name `sf-maui-mcp`) Configuration for your editor: https://ai.syncfusion.com/mcp/llms.txt MCP retrieves current documentation. The skill pack guides code generation. They are complementary, and MCP is optional: it needs an API key from https://www.syncfusion.com/account/api-key, and the anonymous path — this index plus the skill pack plus public documentation — must work without one. If no key is available, do not block on MCP. An MCP API key is not a product license key and does not grant one. ## 7. Verify before reporting success A clean compile is not verification. Work through this list and state explicitly what you could not check. - [ ] Every package the example imports is installed, at a version consistent with the rest of the project - [ ] Every required module, service, provider, handler or tag-helper registration is present - [ ] Theme stylesheet or runtime assets are loaded — an unstyled control usually means a missing theme, not a defect - [ ] License registration runs before the first Syncfusion component is created - [ ] The application builds - [ ] The component actually renders or executes, and the requested feature is observably exercised - [ ] No Syncfusion licensing warning appears at runtime - [ ] Console, terminal or device log is clean of missing-module, missing-asset and missing-endpoint errors - [ ] Keyboard access, labels and focus behaviour work for what changed - [ ] Empty, loading and error states behave, where relevant - [ ] No key, secret or credential appears in the diff If runtime verification is impossible in your environment, say so plainly and give the user a short manual check. Do not describe unverified output as working. ## 8. Known failure modes for Xamarin to .NET MAUI migration These are the mistakes agents make most often on this platform. Check them first. - A control with the same name in Xamarin and MAUI is not the same type. Assemblies, namespaces and some property names differ; do not assume a rename is sufficient. - Renderers do not carry over. Xamarin custom renderers must be rewritten as MAUI handlers. - Migrate and verify one screen at a time on a real target platform. Verify on the platforms the app ships to, not only Windows. - Install the .NET MAUI component pack as well; the migration pack maps the transition but does not carry per-control API detail. Troubleshooting order when a Xamarin to .NET MAUI migration Syncfusion implementation fails: 1. Framework and Syncfusion package version compatibility 2. Missing package, peer dependency, module, service, provider, handler or import 3. Theme CSS, fonts, scripts, static assets, or a required server-side endpoint 4. Data shape, identifiers, date and number parsing, async lifecycle 5. Feature-specific configuration in the installed component skill 6. Current official documentation, or an MCP lookup 7. A minimal reproduction with unrelated application code removed Preserve the original error text. Distinguish a product defect from an integration or configuration issue. If a minimal reproduction still fails against documented behaviour, that is a support case: https://support.syncfusion.com/ ## 9. Next | Need | Go to | | --- | --- | | Full documentation | https://help.syncfusion.com/maui/common/migration | | Every skill in this pack | https://ai.syncfusion.com/xamarin-to-maui-migration/inventory.txt | | Skill catalog across all 15 packs | https://ai.syncfusion.com/skills/catalog.md | | Licensing and trust boundaries | https://ai.syncfusion.com/licensing.md | | MCP configuration | https://ai.syncfusion.com/mcp/llms.txt | | Project scaffolding from the CLI | https://ai.syncfusion.com/cli.md | | Another platform | https://ai.syncfusion.com/llms.txt | | Support | https://support.syncfusion.com/ |