Expert guide

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
A .NET application in layers with sign-in, hosting, integrations and reports.Drag to move around
A .NET application in layers with sign-in, hosting, integrations and reports.
A .NET application in layers with sign-in, hosting, integrations and reports.

Like what you see? Tell us what you need and our team will reply by email.

Quick enquiry

Planning a .NET application? Talk to us.

Before you start

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.

The process

How to move an existing application, step by step

This is the order that keeps risk low.

  1. 1

    Review the application

    Read the code, the libraries and the hosting, and list what blocks a move.

  2. 2

    Add tests around the key paths

    Tests tell you if the application still works after each change.

  3. 3

    Replace what blocks the move

    Swap or update old libraries and any code tied to Windows only features.

  4. 4

    Move in steps

    Move shared libraries first, then the application, checking at each step.

  5. 5

    Run both for a while

    Keep the old version available until the new one has proved itself.

  6. 6

    Retire the old version

    Switch over, watch it, and then remove the old one.

Compare

ASP.NET and ASP.NET Core compared

A summary of the differences that matter when you choose.

Compared onASP.NET (.NET Framework)ASP.NET Core (modern .NET)
Runs onWindows and IISWindows, Linux and containers
New featuresFew, mostly maintenanceAdded regularly
Good forKeeping an existing application runningNew applications and planned upgrades
Hosting on AzurePossible, with some limitsFits App Service and containers well
Effort to changeLow if you leave it aloneA planned project for an existing app
Avoid these

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

Deciding how to build or upgrade?