Skip to content

Getting started

Prerequisites

  • .NET 10 SDK (pinned via global.json 10.x with rollForward)
  • Node.js + npm (Tailwind build)

Scaffold

dotnet new install <installer-package-or-path>
dotnet new connectsoft-blazor-shell -n Contoso.Portal.Shell

The shell project folder is renamed to your -n value; the solution file stays ConnectSoft.Blazor.ShellTemplate.slnx.

Configure micro-frontends

Edit the "Shell" section of src/<Name>/appsettings.json:

{
  "Shell": {
    "MicroFrontends": [
      { "Id": "billing", "Name": "Billing", "BaseUrl": "https://localhost:6001", "Path": "/billing" },
      { "Id": "admin",   "Name": "Admin",   "BaseUrl": "https://localhost:6002", "Path": "/admin" }
    ]
  }
}

NavMenu.razor renders one nav link per entry automatically.

Run

cd Contoso.Portal.Shell
npm install
dotnet run --project src/<Name>

Default HTTPS endpoint is https://localhost:5001.

Test

dotnet test    # ShellOptionsRegistrationTests validates Shell config binding

See also