Back to Podcast Digest
dotnet28m

Stop Rewriting. Start with Aspire.

TL;DR

  • 500 files gone before the rewrite even started: Pine deletes the MVC 3 and MVC 4 directories first so the agent is not confused by contradictory legacy code and starts clean from the MVC 5 .NET Framework 4.8 version.

  • Aspire's agent skills are the center of the workflow: Running aspire agent init installs skills like Aspire, deployment, monitoring, orchestration, Aspire-ify, and Playwright CLI so Copilot can query live docs and scaffold modernization work with context.

  • The AI produced a full modernization plan before touching code: Using the Aspire-ify skill plus a long spec prompt, Copilot generated a phased plan that included EF Core data access, a dedicated migration worker, minimal APIs with DTOs, and an Astro TypeScript Tailwind front end.

  • A working storefront appeared in 44 minutes, and the full run took about 1 hour 15 minutes: Autopilot handled front-end generation, API wiring, login flows, containers, Playwright-based verification, and other steps Pine says would otherwise be manual.

  • The resulting architecture is a modern multi-service app, not a direct port: The finished app uses a C# Aspire app host to wire SQL Server, a music database, Keycloak OIDC, a migration service, an ASP.NET Core minimal API, and an Astro SSR storefront with dependency ordering via WithReference and WaitFor.

  • Aspire bakes in observability and better local dev ergonomics: Pine shows the Aspire dashboard tracking resource health, logs, traces, migrations, and OpenTelemetry signals, plus a Scalar OpenAPI UI for the generated API.

The Breakdown

After deleting 500 legacy files, David Pine had GitHub Copilot and Aspire's new agent skills turn the old MVC Music Store from .NET Framework 4.8 into a working .NET 10 app with Astro, minimal APIs, Keycloak auth, SQL Server, migrations, tests, and observability in about 75 minutes. The pitch is simple: stop hand-rewriting old apps and let Aspire-ify scaffold the architecture, docs lookups, and runtime wiring for you.

Was This Useful?

Share