Skip to content
DocsTry Aspire
DocsTry

MauiProjectExtensions Methods

ClassMethods1 member
Provides extension methods for adding .NET MAUI projects to the application model.
AddMauiProject(IDistributedApplicationBuilder, string, string)Section titled AddMauiProject(IDistributedApplicationBuilder, string, string)extensionIResourceBuilder<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)
{
// ...
}
}
builderIDistributedApplicationBuilderThe builder for the distributed application.
namestringThe name of the resource.
projectPathstringThe 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();