Featured image of post ASP.NET Core 5.0 vs 3.1

ASP.NET Core 5.0 vs 3.1

What's New?

ASP.NET Core 5.0 vs 3.1: What’s New?

Alright, developers, it’s time to answer that burning question: Should you upgrade to ASP.NET Core 5.0, or is 3.1 still good enough?

If you’re still using ASP.NET Core 3.1, first of all, respect!

That’s a solid LTS (Long Term Support) version.

But Microsoft dropped ASP.NET Core 5.0, and it brought some cool new tricks to the table.

So, let’s break it down and see what’s new, what’s better, and whether you should make the leap.


🚀 What’s New in ASP.NET Core 5.0?

1. No More .NET Framework Versions – It’s Just .NET Now!

ASP.NET Core 5.0 ditches the “.NET Core” branding and merges everything under .NET 5.

No more Core vs.

Framework confusion.

It’s all one big happy .NET family now.

2. Performance Improvements That Will Make Your API Fly ✈️

Microsoft went all out on performance optimizations in .NET 5.0.

The Kestrel web server?

Faster.

JSON serialization?

Faster.

Garbage collection?

Faster. Everything is just… faster.

For example, gRPC performance got a major boost, making it even more attractive for high-speed microservices.

If you’re into APIs, this is huge.

3. HTTP/2 Support for gRPC Over Kestrel 🔥

Speaking of gRPC, ASP.NET Core 5.0 finally allows gRPC services to work over HTTP/2 in Kestrel without requiring an ASP.NET Reverse Proxy.

Less hassle, more speed.

4. Minimal API Improvements (Getting Ready for .NET 6)

ASP.NET Core 5.0 laid the groundwork for Minimal APIs.

While the real magic happens in .NET 6, this version starts simplifying API development with fewer ceremony-heavy controllers and startup configurations.

5. New Routing and Middleware Features 🛣️

  • Endpoints now support OpenAPI (Swagger) improvements.
  • Middleware performance got some love, making request handling even smoother.
  • Custom Routing Constraints now make it easier to fine-tune route patterns.

6. Blazor Gets Even Better 🎨

If you’re a Blazor fan (or just love writing C# instead of JavaScript), Blazor in .NET 5 brings some major upgrades:

  • WebAssembly performance boosts (faster loading times).
  • New CSS Isolation, so you can finally stop battling global styles.
  • Improved JavaScript interop, because sometimes you still need JS.

7. Single-File Applications Are a Thing Now 📦

ASP.NET Core 5.0 introduces single-file executables, meaning you can package your whole app into a single .exe file.

Deployment just got way easier.

No more dealing with a million DLLs.


🔄 What’s Improved from ASP.NET Core 3.1?

FeatureASP.NET Core 3.1 🏛️ASP.NET Core 5.0 🚀
.NET Branding.NET Core 3.1Just .NET (no Core)
PerformanceGoodWay better (faster APIs, gRPC, JSON)
gRPC SupportHTTP/1.1 proxy neededNative HTTP/2 support in Kestrel
Middleware PerformanceDecentOptimized for speed
Blazor FeaturesStrongBetter WebAssembly + CSS Isolation
Routing ImprovementsBasicMore flexible custom constraints
Deployment OptionsMulti-fileSingle-file apps available

🤔 Should You Upgrade?

If you’re running ASP.NET Core 3.1 in production, you’re fine for now since it’s an LTS release (supported until 2022).

But if you’re starting a new project, then go with ASP.NET Core 5.0 for that sweet performance boost and future-proofing.

Plus, .NET 6 is the next LTS, so you’ll want to be ready for that upgrade.


🎯 Final Thoughts

ASP.NET Core 5.0 isn’t just a minor update—it’s Microsoft laying the foundation for the future.


🔑 Key Ideas

FeatureSummary
Branding ChangeNo more .NET Core vs Framework, just .NET
Performance BoostsAPIs, gRPC, JSON, and garbage collection all got faster
Better MiddlewareRouting and request processing are smoother
Blazor ImprovementsFaster WebAssembly, CSS isolation, better interop
gRPC UpgradesHTTP/2 support in Kestrel (no reverse proxy needed)
Single-File AppsYou can package everything into one executable file

📚 References