$npx -y skills add syncfusion/maui-toolkit-ui-components-skills --skill syncfusion-maui-toolkit-migrationMigrate from Syncfusion® .NET MAUI to Syncfusion® Toolkit for .NET MAUI. Covers namespace updates, API changes, configuration methods, and step-by-step migration patterns with minimal code modifications for 20+ components.
| 1 | # Migration Guide: Syncfusion® .NET MAUI to Syncfusion® Toolkit for .NET MAUI |
| 2 | |
| 3 | The Syncfusion® Toolkit for .NET MAUI represents the next generation of Syncfusion® components for MAUI applications. While most APIs and functionality remain the same, components have been consolidated into a single toolkit with updated namespaces. This guide helps you migrate existing Syncfusion® .NET MAUI projects to the new toolkit with minimal code modifications. |
| 4 | |
| 5 | ## Table of Contents |
| 6 | |
| 7 | - [Overview](#overview) |
| 8 | - [Documentation and Navigation Guide](#documentation-and-navigation-guide) |
| 9 | - [Quick Start Example](#quick-start-example) |
| 10 | - [Common Migration Patterns](#common-migration-patterns) |
| 11 | - [Key Migration Principles](#key-migration-principles) |
| 12 | |
| 13 | ## Overview |
| 14 | |
| 15 | The migration from **Syncfusion® .NET MAUI** to **Syncfusion® Toolkit for .NET MAUI** involves three primary changes: |
| 16 | |
| 17 | 1. **Namespace Updates** - Component namespaces are reorganized under `Syncfusion.Maui.Toolkit.*` |
| 18 | 2. **Assembly Consolidation** - Individual component assemblies consolidated into `Syncfusion.Maui.Toolkit` |
| 19 | 3. **Configuration Method** - `ConfigureSyncfusionCore()` renamed to `ConfigureSyncfusionToolkit()` |
| 20 | |
| 21 | **Good news:** Your existing component implementations work nearly identically. The primary effort is updating namespaces and the initialization method. |
| 22 | |
| 23 | ## Documentation and Navigation Guide |
| 24 | |
| 25 | Choose your migration path based on where you are in the process: |
| 26 | |
| 27 | ### Getting Started |
| 28 | 📄 **Read:** [references/getting-started.md](references/getting-started.md) |
| 29 | |
| 30 | Start here if you: |
| 31 | - Are new to the migration process |
| 32 | - Need to understand migration scope and benefits |
| 33 | - Want prerequisites and an overview of what changes |
| 34 | - Are planning your migration timeline |
| 35 | |
| 36 | **Covers:** |
| 37 | - Why migrate to the toolkit |
| 38 | - Prerequisites and requirements |
| 39 | - What components are affected |
| 40 | - High-level change summary |
| 41 | |
| 42 | ### Namespace Updates |
| 43 | 📄 **Read:** [references/namespace-updates.md](references/namespace-updates.md) |
| 44 | |
| 45 | Read this when you need to: |
| 46 | - Update XAML namespace declarations |
| 47 | - Modify C# using statements |
| 48 | - Find exact namespace mappings for specific components |
| 49 | - Understand assembly changes from NuGet packages |
| 50 | - Get search & replace patterns for your IDE |
| 51 | |
| 52 | **Covers:** |
| 53 | - Complete XAML namespace reference (20+ controls) |
| 54 | - Complete C# namespace reference (20+ controls) |
| 55 | - Assembly changes and package structure |
| 56 | - Real-world migration examples with before/after code |
| 57 | - Troubleshooting namespace-related build errors |
| 58 | |
| 59 | ### Configuration Method Migration |
| 60 | 📄 **Read:** [references/method-migration.md](references/method-migration.md) |
| 61 | |
| 62 | Use this when you need to: |
| 63 | - Update your MauiProgram.cs initialization |
| 64 | - Change `ConfigureSyncfusionCore()` to `ConfigureSyncfusionToolkit()` |
| 65 | - Understand AppHostBuilder configuration |
| 66 | - See code-behind changes |
| 67 | - Review method signature changes |
| 68 | |
| 69 | **Covers:** |
| 70 | - Step-by-step initialization update |
| 71 | - Old vs. new configuration code |
| 72 | - Complete MauiProgram.cs example |
| 73 | - Advanced configuration options |
| 74 | - Troubleshooting initialization issues |
| 75 | |
| 76 | ### Migration Checklist |
| 77 | 📄 **Read:** [references/migration-checklist.md](references/migration-checklist.md) |
| 78 | |
| 79 | Use this as your: |
| 80 | - Pre-migration verification checklist |
| 81 | - Step-by-step migration process guide |
| 82 | - Post-migration validation checklist |
| 83 | - Troubleshooting reference for common issues |
| 84 | - Performance validation guide |
| 85 | |
| 86 | **Covers:** |
| 87 | - Pre-migration steps and backup procedures |
| 88 | - Component inventory preparation |
| 89 | - Step-by-step numbered migration process |
| 90 | - Build and test verification |
| 91 | - Common issues and solutions with fixes |
| 92 | - Migration completion checklist |
| 93 | |
| 94 | ## Quick Start Example |
| 95 | |
| 96 | Here's how a typical XAML migration looks. The component usage itself doesn't change—only the namespace: |
| 97 | |
| 98 | ### Before (Syncfusion® .NET MAUI) |
| 99 | |
| 100 | **XAML:** |
| 101 | ```xml |
| 102 | <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" |
| 103 | xmlns:button="clr-namespace:Syncfusion.Maui.Buttons;assembly=Syncfusion.Maui.Buttons"> |
| 104 | <VerticalStackLayout> |
| 105 | <button:SfButton Text="Click Me" Clicked="OnButtonClicked" /> |
| 106 | </VerticalStackLayout> |
| 107 | </ContentPage> |
| 108 | ``` |
| 109 | |
| 110 | **C# (MauiProgram.cs):** |
| 111 | ```csharp |
| 112 | using Syncfusion.Maui.Core.Hosting; |
| 113 | |
| 114 | var builder = MauiApp.CreateBuilder(); |
| 115 | builder |
| 116 | .UseMauiApp<App>() |
| 117 | .ConfigureFonts(fonts => fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular")) |
| 118 | .ConfigureSyncfusionCore(); |
| 119 | |
| 120 | return builder.Build(); |
| 121 | ``` |
| 122 | |
| 123 | **C# (Code-Behind):** |
| 124 | ```csharp |
| 125 | using Syncfusion.Maui.Buttons; |
| 126 | |
| 127 | namespace MigrationApp; |
| 128 | |
| 129 | public partial class MainPage : ContentPage |
| 130 | { |
| 131 | public MainPage() |
| 132 | { |
| 133 | InitializeComponent(); |
| 134 | } |
| 135 | |
| 136 | private void OnButtonClicked(object sender, |