During installation, the .NET Multi-platform App UI development workload should be selected. Using the link above should preselect all the prerequisites correctly, as shown on the following image:
Already have Visual Studio 2022?
If you already have Visual Studio 2022, you can update your installation to add .NET MAUI support:
Select the Windows key, type Visual Studio Installer, and press Enter.
If prompted, allow the installer to update itself.
If an update for Visual Studio 2022 is available, an Update button will be shown. Select it to update before modifying the installation.
Find your Visual Studio 2022 installation and select Modify.
If you don't already have an Apple ID, you can create a new one at https://appleid.apple.com. An Apple ID is required for installing and signing into Xcode.
After installing Xcode, you must open Xcode, agree to terms of service, and install optional components, if prompted.
Create your app
Create a new .NET MAUI app:
Open Visual Studio 2022.
Select the Create a new project button.
In the Create a new project window, select MAUI from the All project types drop-down, select the .NET MAUI App template, and then click the Next button.
In the Configure your new project window, enter MyFirstMauiApp as the project name and click the Next button.
In the Additional information window, select .NET 7.0 (Standard Term Support) in the Framework drop-down if not already selected and click the Create button.
Visual Studio creates the new project. If you get a Windows Security Alert warning you about the firewall blocking some features, select the Allow access button.
Wait for NuGet packages restore process
NuGet is a package manager that will bring in the dependencies of your new app.
The package restore process will start automatically. Wait until the Restored or Ready message appears in the status bar at the bottom left of the screen.
Open Visual Studio 2022 for Mac.
In the start window, click New to create a new project.
In the Choose a template for your new project window, select Multiplatform > App, select the .NET MAUI App template, and click the Continue button.
In the Configure your new .NET MAUI App window, select .NET 7.0 in the Target framework dropdown if not already selected and click the Continue button:
Enter MyFirstMauiApp as the Project name and click the Create button.
Run your app
This tutorial will focus on deploying a .NET MAUI application to your local Windows machine first. Later, you'll have the option to set up an Android device or emulator.
In the Visual Studio toolbar, you should see Windows Machine as the debug target by default. Press the Windows Machine button to build and run the app:
If you haven't enabled Developer Mode yet, Visual Studio will prompt you to enable it. In the Enable Developer Mode for Windows dialog, click the settings for developers link to open the Settings app:
Turn on the toggle under Developer Mode.
The Use developer features dialog is displayed. Select Yes to confirm that you want to enable the developer mode.
Close the Settings app, and then close the Enable Developer Mode for Windows dialog. The app should start running.
In the running app, select the Click me button a few times and observe that the count of the number of button clicks is incremented:
This tutorial will focus on deploying a .NET MAUI application to your local Mac machine first. Later, you'll have the option to set up an Android device or emulator.
In the Visual Studio toolbar, you should see My Mac as the debug target by default. Press the play icon (▶) to build and run the app:
In the running app, select the Click me button a few times and observe that the count of the number of button clicks is incremented:
Congratulations, you've built and run your first .NET MAUI app! Keep the app running and continue the tutorial.
Edit your code
When developing applications with .NET MAUI, XAML Hot Reload is available when you're debugging your application. This means that you can change the XAML user interface (UI) while the application is running and the UI will update automatically.
Go back to Visual Studio and leave the app running. In the Solution Explorer, double-click the MainPage.xaml file under the MyFirstMauiApp project. If you don't see the Solution Explorer pane, select View > Solution Explorer from the main menu (or press CTRL+ALT+L).
Go back to Visual Studio and leave the app running. In the Solution window, double-click the MainPage.xaml file under the MyFirstMauiApp project. If you don't see the Solution window, select View > Solution from the main menu.
Currently, the Text of the first Label is set to say Hello, World! as shown in the following code:
The app UI updates automatically as you make changes.
When developing applications with .NET MAUI, you can also use .NET Hot Reload to reload your C# code. Let's modify the logic in the application to increment the count by 10 instead of by 1 when you click the button.
Open MainPage.xaml.cs (this file is nested under MainPage.xaml, or you can right-click and select View Code from the menu).
The OnCounterClicked method on that file currently has the following code:
To apply your code changes, select the Hot Reload button in Visual Studio or select ALT+F10.
Select the Click me button and see it increment by 10. Well done! You can close the running app now.
Configure Android device
You can decide to deploy to one or more of the platforms based on your development environment. You just ran and deployed your app to Windows. Now, let's set up an Android device or emulator.
Android SDK Install
From the debug target drop-down menu, select net7.0-android under Framework.
Specific versions of the Android SDK are required to build projects. If you haven't accepted the Android SDK license, you'll see the following error message on the Error List window.
Double click the message to start the license acceptance process. Click Accept for each of the licenses present and the automatic installation will begin.
Set up Android emulator
If you don't have an Android device to deploy to, you can follow these steps to set up an Android emulator. If you've already done this or want to use your own Android device, you can skip this step.
If this is your first time building a .NET MAUI application, you'll see Android Emulator selected in the debug target drop-down menu. Click it to start the creation process. If a license acceptence dialog shows up, select Accept.
This brings up the New Device window. Select the Create button to create an emulator with default settings. This will download the emulator images and finalize the creation of the emulator for use in Visual Studio. This step might take a while.
Once the emulator has been created, you'll see a button that says Start. Click it.
You may receive prompt to enable Windows Hypervisor Platform. Follow the documentation to enable acceleration to improve performance (required to get the emulator up and running).
The Android emulator will launch. Wait for it to fully finish starting and you'll see it displayed in the Visual Studio debug menu. This may take some time.
Your Android emulator has now been created and is ready to use. Next time you run Visual Studio, the emulator will appear directly in the debug target window and will start when you select it. If you ran into any issues or have performance issues with the emulator, read through the full setup documentation.
You can decide to deploy to one or more of the platforms based on your development environment. You just ran and deployed your app to Mac. Now, let's set up an Android device or emulator.
If this if your first time building a .NET MAUI application, you'll need to create a new Android Emulator. You'll see Android Emulator in the debug menu. Press the play icon (▶) to start the creation process.
The options are automatically populated for a base emulator. If required, change any options and then select Create.
At this point, you may be prompted to agree to the license agreement for the Android emulator. Read through and select Accept to continue the process. This will download the emulator images and finalize the creation of the emulator for use in Visual Studio.
Once the emulator has been created, you'll see a button that says Play. Click it.
The Android emulator will launch. Wait for it to fully finish starting and you'll see it displayed in the Visual Studio debug menu. This may take some time if you aren't using hardware acceleration.
Your Android emulator has now been created and is ready to use. Next time you run Visual Studio, the emulator will appear directly in the debug target window and will start when you select it. If you ran into any issues or have performance issues with the emulator, read through the full setup documentation.
Set up Android device
To develop with your Android device, USB debugging needs to be enabled. Follow these steps on the device to connect it to Visual Studio. If you don't have an Android device, you can skip this section.
Enable developer mode
Go to the Settings screen.
Find Build number by using search at the top of the settings screen, or locate it in About phone.
Tap Build number 7-10 times until "You are now a developer!" pops up.
Check USB debugging status
Go to the Settings screen.
Find USB debugging by using search at the top of the settings screen, or locate it in Developer options.
Enable USB debugging if it isn't enabled already.
Trust device
Plug your device into your computer.
You'll be prompted to Allow USB debugging.
Check Always allow from this computer.
Click Allow.
Your device is now configured and will show up in Visual Studio as a deployment target.