Why .NET Framework migration quotes are so far apart
The application works. It has run the business for ten or fifteen years. But it is built on parts of .NET that stopped moving: Web Forms pages, WCF services, a reporting control from a vendor that no longer exists. Hiring for it gets harder each year, and every new requirement costs more than the last.
So you ask what a migration would cost, and the answers run from five figures to seven. Nobody is lying. Without reading the code, nobody can know how much of it moves across as it is and how much has to be rebuilt. Web Forms has no upgrade path to modern .NET. Hosted WCF services need a replacement. One library with no modern build can hold up everything that depends on it.
A range that wide can't be approved, so the project waits another year. The way out is smaller than a migration: count the blockers first. That is what the Modernization Assessment does.
Six kinds of legacy .NET application, and where each one goes
Each has a different route to .NET 10. Most real systems are a mix of two or three.
ASP.NET Web Forms
There is no in-place upgrade. Pages are rebuilt as Razor Pages, Blazor or a React front end, a few at a time, while the old site keeps serving the rest.
WCF and ASMX services
Modern .NET can call WCF but does not host it. Each service moves to CoreWCF, gRPC or a REST API, chosen by who calls it and what they can change.
ASP.NET MVC 5 and Web API 2
The closest to modern .NET, and usually the fastest move. The work is in what the code leans on: System.Web, sign-in, session state and older packages.
WinForms and WPF desktop apps
Both run on .NET 10 on Windows, so a desktop app can stay a desktop app. A move to the web is a rebuild of the screens, which is worth pricing before anyone commits to it.
VB.NET and VB6
VB.NET code runs on modern .NET. VB6 does not, so a VB6 application is rewritten in stages, with the business rules recovered from the code that already works.
Classic ASP
Script pages with the logic and the SQL in the same file. They are replaced page by page with ASP.NET Core, behind the same addresses your users already have.
Already on .NET 6, 8 or 9? That is an upgrade, not a modernization. The .NET 8 and 9 guide covers what breaks on the way to .NET 10.
How the .NET migration assessment works
The assessment is read-only and takes one to two weeks. You work directly with the senior engineer doing it, remotely, in US Central time.
Access, kept narrow
You give us the repository (or a zip of it), the database schema and a read-only view of how the application is deployed. We don't need production credentials, and nothing in production changes.
Count everything that blocks the move
Every Web Forms page, WCF endpoint and use of System.Web. Every package and third-party control, with whether a modern build exists. How the application signs users in, reaches its data, prints its reports and talks to other systems.
Sort each part: keep, move, rebuild or retire
Some code moves across unchanged. Some needs a replacement underneath it. Some has to be rebuilt, and some turns out to be unused. We size each part and put them in an order where every stage can ship by itself.
A written report and a fixed quote
Plain language first, technical detail underneath, with a fixed price for the first module and an estimate for the stages after it. We walk your team through it in a 60-minute call.
You decide. The report is yours.
Hand it to your own developers, take it to another firm, or migrate with us. If you migrate with us, the assessment fee comes off the first sprint.
What the modernization report contains
- An inventory. Projects, pages, services, database objects and scheduled jobs, with counts, so the size of the application is a number and not an impression.
- A blocker list. Each thing that cannot move to modern .NET as it is, what replaces it, and how much work that is.
- A dependency check. Every package and third-party component: has a modern build, has a replacement, or has neither.
- A recommendation for each part. Stay, upgrade in place, migrate in stages, rebuild or retire, with the reasoning, so you can disagree with it intelligently.
- A staged plan. The order of the modules, what ships at the end of each stage, and how the old and new applications run side by side in between.
- A fixed quote for the first module. A number you can approve, with estimates for the later stages that tighten as each one finishes.
- A one-page summary for whoever approves the budget. What it costs, what it reduces, and what happens if nothing is done.
Sometimes the right answer is to stay on .NET Framework 4.8
A migration is not always worth it, and we say so. Before you spend anything:
- .NET Framework 4.8 is still supported. Versions 4.7 through 4.8.1 are supported as part of Windows. An application that does its job and rarely changes can stay there. The free .NET end-of-support checker dates each version you run.
- Older versions are a small job. Microsoft set January 12, 2027 as the end of support for .NET Framework 4.6.2. Moving an application from 4.6.2 to 4.8 is usually a retarget and a test pass, not a migration.
- Only part of it needs to move. Often one module carries the new requirements and the rest can stay. The plan says which, so you pay to move what earns it.
- Nobody left understands the system. That comes before any migration. See software project rescue.
- It's an Azure Functions app on the in-process model. That is a known job with a fixed price. See the Azure Functions isolated worker migration.
- Replacing it costs less than moving it. Sometimes the honest finding is that a new build, or a product you can buy, beats a migration. We show the numbers side by side. See custom software development.
When the move does make sense, the target is .NET 10, the long-term support release Microsoft supports through November 14, 2028.
What a legacy .NET modernization costs
Three steps, each with a price you can see before you talk to anyone.
A free call or written review
$0 · 30 minutes
A call with a senior engineer: you describe the application and what is pushing you to move, and we tell you whether an assessment makes sense. Prefer it in writing? List up to five .NET applications and get a reply by email within two business days.
Request a free written reviewModernization Assessment
$3,500 fixed · 1–2 weeks
A read-only assessment of one application with its database and deployment, and the written report: inventory, blockers, staged plan and a fixed quote for the first module. Larger systems, or several applications, get a fixed price on the call. The full $3,500 comes off the first migration sprint you commission from us.
Migration sprints
From $12,000 · 2–4 weeks each
One module at a time, moved to .NET 10 and running in production beside the old application before the next one starts. Each sprint's price is fixed before it begins, and you can stop after any of them.
In the Modernization Assessment
- Read-only review of the source, data schema and deployment setup
- The inventory, blocker list and dependency check
- A recommendation for each part of the application
- The staged plan and a fixed quote for the first module
- A 60-minute walkthrough of the report with your team
Not included, priced separately
- The migration itself
- Any change to the running application
- New features that the old application never had
- Penetration testing or a formal security audit
- Ongoing support or hosting
Legacy application modernization services, priced before the work starts
A number, not a range
The assessment is a fixed price. So is each sprint that follows it. You approve every one before work starts.
Staged, never a big-bang rewrite
The old and new applications run side by side. Every stage ends with something in production, and the business keeps working throughout.
Senior engineers read the code
20+ years combined in the Microsoft stack, as a Microsoft Partner. The person who writes your report is the person you talk to, in US Central time.
It runs in your tenant, on your code
The modernized application deploys to your own Azure environment, with the repository handed over. AWS on request. Nothing about the result ties you to us.
Tell us what you are running
List up to five applications: what each one does, what it is built on and what is pushing you to move. A senior Craftware engineer replies by email within two business days (US Central) with which ones need an assessment and which can stay where they are. It's free, needs a work email, and no sales call is required.
Request a free written reviewLegacy .NET modernization: FAQs
-
How much does a .NET Framework migration cost?
It depends on what the application is built from, which is why published ranges are so wide. A class library or a Web API project can move in days. Web Forms pages, hosted WCF services and packages with no modern build are where the cost sits. The $3,500 Modernization Assessment counts those and gives you a fixed quote for the first module. Migration sprints start from $12,000.
-
Is .NET Framework 4.8 still supported?
Yes. .NET Framework 4.7 through 4.8.1 are supported as a component of Windows, for as long as the Windows version they run on is supported. .NET Framework 4.6.2 has a fixed date: January 12, 2027. Supported is not the same as moving forward, though: new features, performance work and most new libraries only arrive on modern .NET.
-
Can ASP.NET Web Forms be upgraded to .NET 10?
Not in place. Web Forms does not exist on modern .NET, so each page is rebuilt, usually as Razor Pages, Blazor or a React front end over an API. It does not have to happen all at once: the old and new applications can run side by side behind one address while pages move across a few at a time.
-
What happens to our WCF services?
Calling a WCF service from modern .NET is supported. Hosting one is not built in. The options are CoreWCF, which keeps existing contracts working, or a move to gRPC or a REST API. The assessment lists every endpoint, who calls it and which option fits each one.
-
What is legacy application modernization?
Moving software that still works, but is built on technology that has stopped moving, onto a platform that is still developed. For a .NET Framework, VB6 or Classic ASP application that means .NET 10. It can be an upgrade in place, a staged migration or a rebuild, and most applications need a mix. The assessment says which fits each part.
-
Which legacy systems does this service cover?
Applications built on the Microsoft stack: .NET Framework, Web Forms, WCF, WinForms, WPF, VB.NET, VB6 and Classic ASP, with the databases behind them. Mainframe and COBOL modernization is a different specialty and is not part of this service.
-
Do we have to rewrite everything at once?
No, and we advise against it. The plan migrates one module at a time, with the old and new applications running side by side, so every stage ships and the business keeps working throughout.
-
Can you modernize a VB6 or Classic ASP application?
Yes. Neither can be upgraded in place, so the work is a staged rewrite to .NET: we read the existing code to recover the business rules, then rebuild screen by screen. The assessment tells you how many screens, reports and rules there are before anyone quotes a rewrite.
-
How big an application does the $3,500 cover?
One application: one solution with its database and deployment, assessed in one to two weeks. Larger systems, or several applications, get a fixed price on the free call before anything starts.
-
Do you need access to production?
No. The assessment works from the source code, the database schema and a read-only look at how the application is deployed. Nothing in production changes.
-
Is the assessment fee credited if we go ahead?
Yes. The full $3,500 comes off the first migration sprint you commission from us. If you take the report elsewhere, or decide to stay where you are, the report is still yours.
-
Where does the modernized application run?
In your own environment, with the source code in your repository. We work Azure first, usually on Azure App Service with Azure SQL, and on AWS on request.
-
Do you work outside Houston?
Yes. The work is remote. We are based in Sugar Land, Texas, and work with clients across the United States.
Not sure it needs to move at all?
That's a fair question, and sometimes the answer is no. A free 30-minute call with a senior Craftware engineer, or a free written review if you'd rather not meet.