ASP.NET or ASP.NET Core: which one should you build on?
Both are Microsoft frameworks for web applications, but they are not the same product. This guide explains the difference, what it means for a new application and for one you already run, and how to plan a move.
The short version
The short version
For a new application, start on current ASP.NET Core. For an existing one, review it before you decide.
- Two different frameworksASP.NET runs on the older .NET Framework. ASP.NET Core runs on modern .NET.
- New work goes to modern .NETMicrosoft adds new features to modern .NET. Check Microsoft's lifecycle pages for the current support dates.
- Hosting options differASP.NET is tied to Windows and IIS. ASP.NET Core also runs on Linux and in containers.
- Existing apps are not urgent by defaultA working application can stay where it is while you plan the move.
- Upgrade in stepsMost moves go better in stages than in one rewrite.
- The database rarely changesYour SQL Server data usually stays as it is.
The shape of a .NET application
How a .NET application is layered
Whichever version you choose, the layers are the same: screens, business rules, data access and the database.
- Sign-in with Microsoft Entra ID
- Hosted in your own Azure subscription
- Connects to your other systems through an API
Quick enquiry
Planning a .NET application? Talk to us.
Questions to answer before you decide
The answers decide whether to build new, upgrade or leave things as they are.
Is this a new application or an existing one?
New applications should normally start on current .NET. Existing ones need a review.
Where must it run?
Windows servers only, Azure, containers or a mix.
How old is the code, and who knows it?
Older code that nobody understands is a risk whichever framework it uses.
Which libraries does it depend on?
Some older components have no modern version and need a replacement.
How long must it live?
A system that must run for many years benefits most from moving to a supported platform.
What would a failure cost?
This sets how careful and how gradual the move needs to be.
How to move an existing application, step by step
This is the order that keeps risk low.
- 1
Review the application
Read the code, the libraries and the hosting, and list what blocks a move.
- 2
Add tests around the key paths
Tests tell you if the application still works after each change.
- 3
Replace what blocks the move
Swap or update old libraries and any code tied to Windows only features.
- 4
Move in steps
Move shared libraries first, then the application, checking at each step.
- 5
Run both for a while
Keep the old version available until the new one has proved itself.
- 6
Retire the old version
Switch over, watch it, and then remove the old one.
ASP.NET and ASP.NET Core compared
A summary of the differences that matter when you choose.
| Compared on | ASP.NET (.NET Framework) | ASP.NET Core (modern .NET) |
|---|---|---|
| Runs on | Windows and IIS | Windows, Linux and containers |
| New features | Few, mostly maintenance | Added regularly |
| Good for | Keeping an existing application running | New applications and planned upgrades |
| Hosting on Azure | Possible, with some limits | Fits App Service and containers well |
| Effort to change | Low if you leave it alone | A planned project for an existing app |
Common mistakes when choosing or moving
Rewriting everything at once
It is slow, risky and often unnecessary. Move in steps.
Skipping the review
Surprises in old libraries show up late and cost more.
No tests
Without tests you cannot tell what changed.
Starting a new application on the old framework
It creates an upgrade you will have to do later.
Ignoring hosting
The framework and the hosting plan should be chosen together.
Forgetting the database
Check queries and connections too, not only the web code.
ASP.NET and ASP.NET Core questions
What is the difference between ASP.NET and ASP.NET Core?
ASP.NET runs on the .NET Framework and is tied to Windows and IIS. ASP.NET Core is the newer framework on modern .NET, which also runs on Linux and in containers, and receives new features.
Should a new application use ASP.NET Core?
Normally yes, on a current supported version of .NET. We confirm the right version for your case on the first call.
Do we have to move our existing ASP.NET application?
Not always, and not at once. We review the application and tell you what we would keep, fix or move, and in what order.
Will our database change?
Usually not. Your SQL Server data stays, though we check queries and connection settings.
Can you do the move for us?
Yes. We build and upgrade .NET applications, and you can also hire ASP.NET developers to join your team. The first call is free.
Talk to an expert