WindowsmacOSLinux

Where Does .NET MAUI Store Workloads and Projects?

.NET MAUI restores workloads into the dotnet packs folders with project resources under Platforms and build outputs in bin and obj per target framework.

Last updated

MAUI centers on one multi targeted project with Platforms folders per operating system. Shared UI code sits at root while Android, iOS, MacCatalyst, and Windows specifics branch beneath. Resources folder holds versioned assets like icons and splash screens.

Workloads install once per machine into dotnet packs, shared by all MAUI projects. Build outputs land in bin and obj per target framework like any .NET build. New machines need the workload restore before first compile succeeds.

Where .NET MAUI stores this, by platform

Windows
<project>\Platforms + Resources

Shared UI plus per OS Platforms folders in one project. Resources carry build actions. Bin and obj hold per framework outputs.

macOS
<project>/Platforms + Resources

Same single project layout on Mac for iOS and MacCatalyst targets. Workloads install per machine via dotnet restore.

Linux
<project>/Platforms + Resources

Linux builds target Android from the same project tree. Platform folders stay OS specific while root stays shared.

Frequently asked questions

How do I install MAUI workloads?

Run dotnet workload restore in the project to fetch maui packs for all targeted platforms. Workloads live in dotnet packs folders shared across projects. Missing workloads fail builds with explicit errors.

How is a MAUI project organized?

Keep shared code at root with platform specifics under Platforms per OS folder. Resources like images and fonts live in Resources with build actions. Single project deploys everywhere from this tree.

Notice an outdated path? Let us know.