Setting Up the MAUI Environment
Before writing a MAUI app you need the .NET SDK plus the MAUI workload, which pulls in Android SDK/emulator tooling, iOS build support (requiring a paired Mac for on-device/simulator builds), and Windows App SDK components. The two supported IDEs are Visual Studio 2022 (Windows, with the '.NET Multi-platform App UI development' workload checked in the installer) and Visual Studio Code with the .NET MAUI extension plus the C# Dev Kit, though VS Code relies on the command line for some device/emulator management that Visual Studio automates.
Cricket analogy: Setting up MAUI is like assembling full kit before a tour — bat, pads, helmet, and spikes — since you need the .NET SDK, the MAUI workload, Android SDK tooling, and (for iOS) access to a Mac, all before writing a single line of code.
Installing the Workload
The MAUI workload is installed via dotnet workload install maui from a terminal, or by checking the MAUI workload in the Visual Studio Installer's Workloads tab. After installation, run dotnet workload list to confirm maui, maui-android, maui-ios, maui-maccatalyst, and maui-windows are present, and dotnet --info to verify the SDK version (MAUI requires .NET 7 or later, with .NET 8 being the current recommended target). Periodically run dotnet workload update to pick up bug fixes, since MAUI workload releases ship independently of major .NET releases.
Cricket analogy: Running dotnet workload install maui is like a fresh recruit completing fitness and skills assessments before being added to the official squad list, and dotnet workload list is the team sheet confirming they made the cut.
# Install the MAUI workload (run as administrator/sudo if required)
dotnet workload install maui
# Verify installed workloads
dotnet workload list
# Verify the SDK version (MAUI needs .NET 7+, .NET 8 recommended)
dotnet --info
# Create a new MAUI project from the CLI
dotnet new maui -n HelloMaui
cd HelloMaui
dotnet build -f net8.0-androidAndroid, iOS, and Windows Prerequisites
Android development needs an Android SDK (installed automatically alongside the workload) and at least one emulator image created via the Android Device Manager in Visual Studio, or avdmanager on the CLI; a physical device with USB debugging enabled also works. iOS builds require either a physical Mac on the same network paired to Visual Studio via 'Pair to Mac,' or building directly on a Mac with Visual Studio for Mac's successor tooling or dotnet build -f net8.0-ios in a Mac terminal with Xcode installed. Windows targets (net8.0-windows10.0.19041.0) build natively on Windows without extra pairing, using the Windows App SDK installed as part of the workload.
Cricket analogy: Needing an Android emulator or a Mac for iOS is like needing both a domestic net session and an overseas training camp before a World Cup, since Android needs a local emulator/device while iOS needs a paired or native Mac.
Visual Studio's 'Pair to Mac' feature lets you build and debug iOS apps from a Windows machine by connecting over the network to a Mac running the Xamarin/MAUI remote build agent — you still need physical or cloud access to a Mac, just not as your primary dev machine.
Android emulator performance is poor without hardware acceleration (Hyper-V on Windows, or HAXM/Hypervisor.Framework equivalents) enabled at the BIOS/OS level — check this first if an emulator boots but runs unusably slowly.
- MAUI requires the .NET SDK (7+, 8 recommended) plus the MAUI workload installed via
dotnet workload install maui. - Visual Studio 2022 offers the most integrated experience; VS Code needs the MAUI and C# Dev Kit extensions and more manual CLI steps.
dotnet workload listanddotnet --infoare the standard commands to verify a working MAUI environment.- Android development needs the Android SDK and an emulator image or a physical device with USB debugging enabled.
- iOS builds require access to a Mac, either paired remotely from Windows via 'Pair to Mac' or built natively with Xcode.
- Windows targets build natively without extra pairing, using the Windows App SDK bundled with the workload.
- Hardware virtualization (Hyper-V, etc.) must be enabled for usable Android emulator performance.
Practice what you learned
1. Which command installs the .NET MAUI workload?
2. What is required to build and debug an iOS app from a Windows machine using Visual Studio?
3. Which command lists the currently installed .NET workloads to confirm MAUI installed correctly?
4. What commonly causes an Android emulator to boot but run extremely slowly?
5. Which minimum .NET SDK version does .NET MAUI require?
Was this page helpful?
You May Also Like
What Is .NET MAUI?
An introduction to .NET MAUI, Microsoft's cross-platform UI framework for building native Android, iOS, Windows, and macOS apps from a single C#/XAML codebase.
The MAUI Project Structure
A tour of a default .NET MAUI project's folders and startup files — Platforms/, Resources/, MauiProgram.cs, App.xaml, and AppShell.xaml — and what each one controls.
Your First MAUI App
A hands-on walkthrough of scaffolding, running, and modifying your first .NET MAUI app, including event wiring, navigation, and Hot Reload debugging.
Related Reading
Related Study Notes in Programming
Browse all study notesApache Spark Study Notes
Programming · 30 topics
ProgrammingApache Flink Study Notes
Programming · 30 topics
ProgrammingHadoop Study Notes
Programming · 30 topics
ProgrammingSnowflake Study Notes
Programming · 30 topics
ProgrammingApache Airflow Study Notes
Programming · 30 topics
Programmingdbt (Data Build Tool) Study Notes
Programming · 30 topics