Share via


MauiProjectExtensions.AddMauiProject Method

Definition

Adds a .NET MAUI project to the application model. This resource can be used to create platform-specific resources.

public static Aspire.Hosting.ApplicationModel.IResourceBuilder<Aspire.Hosting.Maui.MauiProjectResource> AddMauiProject(this Aspire.Hosting.IDistributedApplicationBuilder builder, string name, string projectPath);
static member AddMauiProject : Aspire.Hosting.IDistributedApplicationBuilder * string * string -> Aspire.Hosting.ApplicationModel.IResourceBuilder<Aspire.Hosting.Maui.MauiProjectResource>
<Extension()>
Public Function AddMauiProject (builder As IDistributedApplicationBuilder, name As String, projectPath As String) As IResourceBuilder(Of MauiProjectResource)

Parameters

builder
IDistributedApplicationBuilder

The builder for the distributed application.

name
String

The name of the resource.

projectPath
String

The path to the .NET MAUI project file (.csproj). This can be a relative or absolute path.

Returns

A reference to the IResourceBuilder<T>.

Examples

Add a MAUI project with Windows support:

var builder = DistributedApplication.CreateBuilder(args);

var weatherApi = builder.AddProject<Projects.WeatherApi>("api");

var maui = builder.AddMauiProject("mauiapp", "../MyMauiApp/MyMauiApp.csproj");
var windowsDevice = maui.AddWindowsDevice()
    .WithReference(weatherApi);

builder.Build().Run();

Remarks

This method creates a parent MAUI project resource that serves as a container for platform-specific resources such as Windows, Android, iOS, and macOS. The actual platform instances are added using extension methods like AddWindowsDevice.

The MAUI project is not built immediately when the AppHost starts. Instead, builds are deferred until a platform-specific resource is started, allowing faster AppHost startup and enabling incremental builds during development.

Applies to