dotNewLABS

Guides

ASP.NET WebForms to modern .NET: what changes and what to watch

Published 22 October 2026 · dotNew Labs

ASP.NET WebForms only runs on .NET Framework. Modern .NET has no WebForms, so moving a WebForms app is a rebuild of the user interface, not a version bump. Done in the right order, it is very manageable. Here is what changes and where projects usually slip.

Your usersone web addressNew ASP.NET Core apppages already movedproxyOld WebFormsnot yet movedShared business logicclass libraries both apps useDatabaseBatch by batch:pages move fromright to left untilthe old app is empty.
Incremental migration: the new app sits in front and hands unfinished pages to the old one, so users see a single site throughout.

What has no direct equivalent

WebFormsModern .NET
.aspx pages, server controls, ViewState, postbacksRazor Pages, MVC or Blazor. Pages are rewritten.
System.Web, HttpContext.CurrentASP.NET Core request pipeline and dependency injection
Global.asax, HTTP modules and handlersMiddleware
web.config app settingsappsettings.json, environment settings, a secrets store
ASP.NET Membership, Forms authenticationASP.NET Core Identity or your single sign-on provider
WCF services the app calls or hostsClients still work. Hosted services move to CoreWCF, gRPC or a REST API.

Pick the new front end per app, not per fashion

Move in stages, not in one jump

Microsoft supports an incremental path: put the new ASP.NET Core app in front, send requests for pages you haven't moved yet to the old app (using a reverse proxy such as YARP), and move pages over in batches. Users see one site the whole time. Each batch can be tested and released on its own.

Where WebForms projects usually go wrong

A sensible order

  1. Inventory pages, reports, jobs, integrations and logins.
  2. Write down the business rules, cited to the code, and confirm them with the people who use the app.
  3. Move shared business logic into class libraries that both old and new apps can use.
  4. Stand up the new app in front, and move one low-risk area first.
  5. Test old against new for each batch, then switch it over.

Not sure where your apps stand?

We offer a free 20-minute scan of one app: what it runs on, what's risky, and the shortest safe path forward. You keep a short written summary whether or not you hire us.

Book a free scan

Or email contact@dotnewlabs.ai

More guides