What problem does it solve? Migrating a legacy Blazor Server app to the modern .NET 8+ Blazor Web App model involves many coordinated changes across the project file, Program.cs, _Host.cshtml, and App.razor, and missing any step causes subtle runtime failures like broken antiforgery or lost circuit options. ## Core Features & Use Cases - Step-by-step migration workflow: Updates the .csproj TFM, converts _Host.cshtml into an App.razor root component, moves the Router into Routes.razor, and rewrites Program.cs to use AddRazorComponents and MapRazorComponents. - Authentication migration: Replaces the CascadingAuthenticationState component wrapper with the AddCascadingAuthenticationState service, which works across render mode boundaries. - Validation checklist and pitfalls table: Verifies no references to AddServerSideBlazor, MapBlazorHub, or blazor.server.js remain, and covers common failures like missing UseAntiforgery middleware. - Use Case: You have a .NET 7 Blazor Server app using Pages/_Host.cshtml and want to upgrade to .NET 8 with InteractiveServer render mode while preserving existing behavior. ## Quick Start Convert my Blazor Server project in this repo to a .NET 8 Blazor Web App using the InteractiveServer render mode.