Skip to content
Docs Try Aspire

MauiProjectExtensions Methods

Class Methods 1 member
Provides extension methods for adding .NET MAUI projects to the application model.
AddMauiProject(IDistributedApplicationBuilder, string, string) Section titled AddMauiProject(IDistributedApplicationBuilder, string, string) extension IResourceBuilder<MauiProjectResource>
Adds a .NET MAUI project to the application model. This resource can be used to create platform-specific resources.
public static class MauiProjectExtensions
{
public static IResourceBuilder<MauiProjectResource> AddMauiProject(
this IDistributedApplicationBuilder builder,
string name,
string projectPath)
{
// ...
}
}
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.
IResourceBuilder<MauiProjectResource> A reference to the ApplicationModel.IResourceBuilder`1.
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.

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();