03 · ModerniseRenascia · .NET Framework
Move your old .NET application to modern .NET, one step at a time
Thousands of business applications still run on .NET Framework 4.x: ASP.NET MVC and Web API back ends, WebForms front ends, WCF services, Windows-only hosting. They work, but they cost more to host, are harder to hire for, and cannot use the current ecosystem. We migrate them to .NET 10, the current long-term-support release of modern .NET (the platform that began as .NET Core), in slices, with tests proving behaviour is unchanged, at a fixed price set after a five-day Perlustra audit.
Planning a move to .NET 8?
Microsoft set 10 November 2026 as the end of support for .NET 8 and .NET 9, and recommends .NET 10, supported until November 2028. New migrations target .NET 10; applications already on .NET 8 have a much smaller step to take. (Source: Microsoft .NET Blog, 29 June 2026.)
01What moves
What moves, and how
| Component | Strategy |
|---|---|
| ASP.NET MVC / Web API | Port controllers, routing, filters and DI to ASP.NET Core; adapt middleware; keep URL contracts stable. |
| Entity Framework 6 | Move to EF Core with query-by-query verification; keep the schema; migration scripts tested on a copy of production data. |
| WebForms | Not portable. Options stated honestly: strangler replacement with Razor Pages or a SPA, screen by screen; or keep it on Framework behind a reverse proxy while everything else moves. |
| WCF | Replace with ASP.NET Core Web API or gRPC; CoreWCF where the contract must stay. |
| System.Web dependencies (Session, HttpContext, Membership) | Replace with ASP.NET Core equivalents; the Identity migration is planned explicitly. |
| Windows-only libraries, COM, registry | Inventoried in the audit; each gets a replace, isolate or keep decision. |
| Hosting (IIS / Windows Server) | Linux containers on your cloud of choice, or stay on Windows if that is the right answer; cost comparison included. |
02Method
The five-step method
Inventory and assessment
The audit runs Microsoft's upgrade analysis (the GitHub Copilot modernization agent, which replaced the deprecated .NET Upgrade Assistant) and API compatibility checks, lists every blocker, and estimates the effort for each project in the codebase.
Share the core first
Class libraries move to .NET Standard 2.0 or multi-target .NET Framework and .NET 10 first, so both the old and new hosts can share them.
Move the web layer in slices
A new ASP.NET Core host runs alongside the old one; routes migrate in groups behind a reverse proxy (YARP), each with its own way back.
Data and identity
EF Core and Identity migrations with parallel-run verification.
Switch off the old host
The Framework host is turned off only when every route has moved and monitoring has been quiet for an agreed period.
03Challenges
Challenges we plan for, so they do not become surprises
- Third-party packages with no modern .NET version
- Configuration moved from
web.configtoappsettingsand environment variables - Synchronous code paths that need
asyncto perform on Kestrel - Session state and caching semantics
- Reporting and PDF libraries tied to Windows
- Scheduled tasks and Windows Services becoming hosted services
- Authentication migrations (Forms Auth, Membership)
- Build servers and deployment scripts
04What you get
What you get
A working application on a supported runtime, a test suite around the migrated paths, container images or deployment scripts, updated documentation, a decommission checklist for the old host, and a hosting cost comparison before and after.
05AI-assisted
AI-assisted migration, honestly described
We use AI coding tools and the Microsoft upgrade tooling for the mechanical parts of .NET modernization (modernisation): API replacements, namespace changes, test scaffolding.
The decisions — what to port, what to replace, what to leave — are made by a senior engineer who has read your code. Fixed prices mean you get the speed without paying for the hours.
06Questions
Frequently asked questions
Not answered here? Ask on the triage call.
What are the steps to migrate .NET Framework 4.8 to .NET 8 or .NET 10?
The same steps apply to both, and today the target should be .NET 10: inventory and assessment, multi-target the shared libraries, migrate the web layer in slices behind a proxy, migrate data access and identity, decommission the old host. The five-step method above is the full version.
What are the biggest .NET Framework to .NET Core migration challenges?
WebForms and WCF (no direct port), System.Web dependencies, Windows-only libraries, and configuration. All four are inventoried in the audit before a price is quoted.
Is there a tool that does the migration automatically?
Microsoft's GitHub Copilot modernization agent (which replaced the deprecated .NET Upgrade Assistant) and the compatibility analysers handle the mechanical parts and report blockers. They do not migrate WebForms, redesign authentication, or decide hosting. We use them; they do not replace the work.
Should we go to .NET 8 or .NET 10?
.NET 10. Microsoft set 10 November 2026 as the end of support for .NET 8 and .NET 9, and recommends .NET 10, a long-term-support release supported until November 2028. Libraries built for .NET 8 generally run on .NET 10; the audit checks each one.
We are already on .NET 8. Do we need to do anything?
Yes: plan the move to .NET 10, because .NET 8 receives no security fixes after 10 November 2026. It is usually a much smaller step than leaving .NET Framework; the audit sizes it and fixes the price.
Can we keep running on Windows Server?
Yes. Moving to Linux containers usually cuts hosting cost, but it is a separate decision and the report quantifies it.
How long does it take?
Two to six weeks for a typical single application; estates with several services are phased, with a shippable result after each phase.