From a VB6 Desktop App to the Web with Blazor in 20-ish Minutes
by DeeDee Walsh, on May 4, 2025 1:00:00 AM
Imagine this: you have a legacy application that's old enough to vote, still rocking VB6 (or its younger sibling, WinForms) and you're dreading the rewrite that everyone keeps telling you will take "a coupla years" (and potentially all of your sanity).
Now hit play on the video below. In roughly the time it takes to finish your cup of coffee, GAP's Solution Architect Santiago Arango rips through an end-to-end modernization path:
- VB6 (yup, really) --> .NET Framework 4.8
- .NET 4.8 --> .NET 9 via .NET Upgrade Assistant
- WinForms --> Blazor with a little help from Copilot
- Local desktop --> Azure using .NET Aspire + Azure CLI
And because every good demo needs proof, JETNET's Head of Technology Eric Foss jumps in at the end to explain how his 250K LoC VB6 app is making the same leap - without grinding his dev team (or JETNET's business) to a halt.
Why You Should Care
- Migration ≠ Manual Rewrite
You can automate most of the grunt work. Santiago's tool belt includes GAP's Visual Basic Upgrade Companion (VBUC), .NET Upgrade Assistant and Copilot prompts that do everything from refactoring legacy COM calls to generating minimal-API endpoints. - Blazor Isn't Just "Web Forms 2.0"
It lets C# devs build fullstack apps without JavaScript deep dives. For teams coming from WinForms, that's a dramatically shorter learning curve - something Eric's developers confirm in the video - .NET Aspire Simplifies Cloud Plumbing
Service discovery, connection-string wiring, logging and security are baked in. Spend time on features, not YAML spelunking. - One Pipeline to Rule Them All
Once the code compiles on .NET 9, you're a Docker build and an azd up away from running the same app on Azure Container apps, AKS, App Service - pick your flavor.
The "Too Long; Didn't Watch" Cliff Notes
Step | What Happened | Why It Matters |
Upgrade Assistant report |
Scans the legacy solution, flags COM libs, fonts, breaking API calls | You get a punch list before you touch a line of code |
In place project upgrade | Framework 4.8 -->.NET 9 for both core logic and UI | Handles NuGet swaps, namespace rewrites and config bumps automatically |
Copilot powered refactor | Prompts generate minimal APIs, DI wiring and Blazor components | Reduces human typo risk - and yes, it's faster than StackOverflow-and-paste |
.NET Aspire starter | Web + API + AppHost scaffold with sensible defaults | Observability, health checks, retries - no yak shaving required |
Azure Developer CLI deploy | azd init && azd up spins up ACR, Container Apps, Log Analytics | Infrastructure as code you didn't have to write |
Real World Validation
"We didn't want to disappear into a smoky back room for two years rebuilding from scratch. Blazor plus GAP's tooling gave our VB6 team a bridge - not a cliff." --Eric Foss, JETNET
Ready for Your Own Escape Plan?
- Still on VB6 or PowerBuilder? GAP's VBUC can crank out clean C# targeting .NET 9 or stay on LTS if you like.
- Need to go full cloud-native? .NET Aspire + Azure Container Apps gets you microservices minus Kubernetes anxiety.
- Worried about your devs? Eric's story proves even career VB6 engineers can hit the ground running with a bit of guided training and Copilot's guardrails.
Hit play! Pause as needed. Steal the prompts. And when you're ready to fast forward your own migration, you know where to find us.
Want to try it out for yourself?