Skip to content

Shell Releases

Feature
Configurable source generation — disable route constants via ShinyMauiShell_GenerateRouteConstants or navigation extensions via ShinyMauiShell_GenerateNavExtensions MSBuild properties (empty/missing = enabled, false = disabled)
Feature
Route-based naming — the route parameter in [ShellMap] now drives the generated constant name and navigation method name (e.g., [ShellMap<HomePage>("Dashboard")]Routes.Dashboard, NavigateToDashboard)
Feature
Invalid route diagnostic — SHINY001 compiler error when the route value is not a valid C# identifier (hyphens, spaces, leading digits)
Enhancement
AddGeneratedMaps() is always generated — even before any [ShellMap] attributes exist — so you can wire up MauiProgram.cs immediately
Enhancement
AddGeneratedMaps() now uses inline string literals instead of Routes.* constants, so it works correctly even when route constant generation is disabled
Enhancement
When no route is specified, the generated name falls back to the page type name without the Page suffix (e.g., [ShellMap<HomePage>]Routes.Home)
  • Route constant names may change if you specified explicit routes — e.g., Routes.Home for [ShellMap<HomePage>("Dashboard")] is now Routes.Dashboard
  • Navigation extension method names change similarly — NavigateToHome becomes NavigateToDashboard
  • Routes with invalid C# identifiers (hyphens, spaces, leading digits) now produce compile errors — rename them to valid identifiers