user

Demystifying Microsoft .NET Long-term Support (LTS)

Introduction

Crista Perlton

Crista Perlton


LATEST POSTS

Are You Safe from Malicious and Vulnerable Python Packages? 16th September, 2022

PyPI Package Dependencies and Their Unintended Consequences 03rd May, 2022

.NET

Demystifying Microsoft .NET Long-term Support (LTS)

Posted on .

(This article was updated on December 3, 2021, to reflect .NET 6’s release.)

It’s not easy to understand Microsoft’s support policies for .NET Core, .NET Framework, and future versions of .NET. They’re not very clear, and worse, they’re spread across a number of blog posts and FAQ pages. That makes it even more of a challenge to decide what .NET platform to target for your applications and components, now and in the future.

This article removes the mystery of Microsoft’s .NET LTS, letting you make migration plans with fewer blockers, less time spent researching, and hopefully no downtime from upgrade breaks.

In short, except for old legacy applications running on unsupported .NET platforms, the very soonest your .NET platform will go out of support is in two years. This gives you time to make the best migration plans for you, your teams, and your organization.

Using Long-term Support (LTS) to Help Make a .NET Migration Plan

With the release of .NET 5/6+, Microsoft’s .NET platform is changing. Following our five steps simplifies decisions of whether and when to migrate:

  1. Inventory Your Existing Applications
  2. Assess Deprecated Components
  3. Prioritize with Stakeholders
  4. Prepare a Rough Migration Schedule
  5. Increase Your Release Velocity

Many factors determine your migration plan. The long-term support (LTS – or lack thereof) for your platforms lets you start Steps 1 and 2.

Most modern organizations target different .NET platforms for different applications, so:

  • different applications target different .NET platforms
              AND
  • different applications are at different points in their lifecycle

Not all of your applications will need to be migrated, let alone migrated at the same time. Some may reach their end-of-life (EOL) before the platform they target reaches EOL. And .NET platforms reach EOL at different times, so some of your applications targeting “older” .NET versions may be in support longer than those on “newer” ones.

Microsoft’s .NET platforms have three forms of support:

  • Operating system; very long-term support that’s tied to the operating system’s support lifecycle (often ten or more years)
  • Long-term Support (LTS); three years of support after the initial release of the platform
  • Current Release; only three months of support after an LTS release or the next Current release, whichever comes first

Targeting operating systems or LTS platforms gives your applications a longer life before having to migrate to a new platform.

What to Know about Microsoft LTS

Use these helpful charts to know the support status of the different versions of .NET Framework and .NET Core your applications may be targeting.

Obviously, support shouldn’t be the sole factor to consider, and there are many other benefits to choosing .NET 5 or newer versions.

.NET Framework

VersionExisting Application SupportTarget New Applications?
1.x✘ out of support – migrate ASAP✘ out of support – do not target
2.x✘ out of support – migrate ASAP✘ out of support – do not target
3.x✘ out of support – migrate ASAP✘ out of support – do not target
3.5✓ Operating System (until 2029) ⚠️Operating System (until 2029) – target with caution
4.0 to 4.5.1✘ out of support – migrate ASAP✘ out of support – do not target
4.5.2 to 4.7⚠️Operating System (mixed) – review support policy of each version⚠️Operating System (mixed) – target with caution
4.8✓ Operating System (indefinite)✓ Operating System (indefinite)


According to an update post from Microsoft, “.NET Framework 4.5.2, 4.6, and 4.6.1 will reach end of support on April 26, 2022. After this date, we will no longer provide updates including security fixes or technical support for these versions.”

Also according to Microsoft, “.NET Framework 4.8 is the latest version of .NET Framework and will continue to be distributed with future releases of Windows. As long as it is installed on a supported version of Windows, .NET Framework 4.8 will continue to also be supported.”

While targeting an “old” platform might seem foolish, .NET Framework 4.8 will be supported longer than even .NET 5 and .NET 6! Continuing to target known platforms can help minimize staff retraining costs. You can spend the money and time saved on a more tailored migration plan for other applications. 

.NET Core

VersionExisting Application SupportTarget New Applications?
1.x✘ out of support – migrate ASAP✘ out of support – do not target
2.0 and 2.2✘ out of support – migrate ASAP✘ out of support – do not target
2.1⚠️LTS until 21 August 2021 – begin migration plans⚠️LTS until 3 December 2022 – don’t target long-term applications
3.0✘ out of support – migrate ASAP✘ out of support – do not target
3.1✓ LTS until 3 December 2022⚠️LTS until 3 December 2022 – target long-term applications with caution


Microsoft considers .NET 5/6 and beyond to be “.NET Core v.Next.” Because of this, LTS for Core is actually shorter than for the “older” .NET Framework 4.8 (tied to the operating system).

.NET 5/6 and Beyond

Platform(Projected) Release DateTarget Applications?
5November 2020⚠️Current release only – target with caution
6November 2021✓ LTS 
7November 2022⚠️Current release only – target with caution
8November 2023✓ LTS 


Starting with .NET 5, all odd-numbered releases will be Current-only. Starting with .NET 6, all even-numbered releases will be LTS.

.NET LTS Frequently Asked Questions

When should I target newer platforms for new applications?

There are a number of factors to consider (we talk more about them in our guide), but for support-based considerations check out these handy charts for .NET Framework.NET Core, and .NET 5/6 and beyond.

When should I upgrade a platform’s minor version?

The sooner the better for both .NET Framework and .NET Core. Only the latest version of each platform—.NET Framework 4.8 and .NET Core 3.1—are LTS. Your out-of-support versions will still work, but you will miss important security and bug fixes.

Because Framework 4.8 and Core 3.1 are LTS for at least two more years, you may choose to delay migration until the next LTS release (.NET 6), scheduled for November 2021.

When should I upgrade a platform’s patch version?

The sooner the better, but be cautious. We’ve seen the ‘Patch Tuesdays lead to bad Wednesdays’ memes before, so don’t rush into patch upgrades if you don’t have time to deal with possible breaks.

However, delaying or avoiding upgrades is a bad practice. Security risks increase, and the hassle of (inevitable) migration or upgrade increases with each delay.

Can I still target different .NET platforms for different applications?

Yes and no.

Until Framework 4.8 and Core 3.2 reach EOL, you can target them as much as you’d like. You can technically continue to target out-of-support .NET platforms, although we strongly discouraged this.

The premiere of .NET 5 signaled that there is no more parallel development track for .NET development. The only way forward is on the major-numbered .NET platforms. And note that odd-numbered releases will be Current (short-term) while the even-numbered ones will be LTS.

LTS Takeaways

Migrating this very minute isn’t necessary, even if you’re on an out-of-support platform. But both .NET Framework and .NET Core are living on “borrowed time.” Starting the migration planning process now will reduce stress later.

Begin to inventory your existing applications and assess deprecated components in your systems. Once you know what applications will exist past the end-of-support dates for their platforms, you can make a migration plan for retargeting or rebuilding those applications.

Get a Copy of the .NET 5/6+ Migration Guide

We’ve built a guide on how to be successful with your migration to .NET 5 and beyond. Get your free copy today!

Crista Perlton

Crista Perlton

Navigation