Skip to content

Solution structure

After dotnet new connectsoft-maui-base --service-name {Name}, the solution uses {Name} as the prefix instead of MauiBase (source names in the template repo).

Top level

Path Purpose
{Name}.slnx / ConnectSoft.MauiBaseTemplate.slnx (source) Solution entry
src/ Application, Core, Infrastructure, Shared
tests/ Unit, integration, UI tests
docs/ In-repo technical docs (some files optional per symbols)
Directory.Build.props, Directory.Packages.props Shared MSBuild + CPM

Projects

Project Role
{Name}.Application MAUI app: App, AppShell, pages, view models, MauiProgram.cs
{Name}.Core Domain/abstractions: base view model/service, interfaces; no MAUI package references
{Name}.Infrastructure Implementations: dialogs, app state, observability, data/sync (when enabled), HTTP helpers
{Name}.Shared Resources: styles, fonts; optional localization RESX

Tests

Project Targets Role
{Name}.UnitTests net9.0 / net10.0 Fast VM/service tests
{Name}.IntegrationTests net9.0 / net10.0 DI / infrastructure smoke tests
{Name}.UITests net9.0 / net10.0 Appium / UI automation

Detail: testing.md in the template repo.

Optional exclusions

Observability, localization RESX, offline/sync folders, and selected docs files are omitted when corresponding Use* symbols are false (see Parameters).