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).