December 5th, 2019

.NET Core 2.2 will reach End of Life on December 23, 2019

Lee Coward
.NET Program Manager

.NET Core 2.2 was released on December 4, 2018. As a non-LTS (“Current”) release, it is supported for three months after the next release. .NET Core 3.0 was released on September 23, 2019. As a result, .NET Core 2.2 is supported until December 23, 2019.

After that time, .NET Core patch updates will no longer include updated packages of container images for .NET Core 2.2. You should plan your upgrade from .NET Core 2.2 now.

.NET Core 3.1 released December 3, 2019 as a Long-term support release. As a result, .NET Core 3.0, released September 23, 2019 is supported until March 23, 2020.

Upgrade to .NET Core 3.1

The supported upgrade path from .NET Core 2.2 is via .NET Core 3.1. Migrating from 2.2 to 3.1 is straightforward; update the project file to use 3.1 rather than 2.2. The first document below illustrates the process from 2.0 to 2.1. ASP.NET Core 2.2 to 3.1 has additional considerations detailed in the second document.

Microsoft Support Policy

Microsoft has a published support policy for .NET Core. It includes policies for two release types: LTS and Current.

  • LTS releases include features and components that have been stabilized, requiring few updates over a longer support release lifetime. These releases are a good choice for hosting applications that you do not intend to update often.
  • Current releases include features and components that are new and may undergo future change based on feedback. These releases are a good choice for applications in active development, giving you access to the latest features and improvements. You need to upgrade to later .NET Core releases more often to stay in support.

Both types of releases receive critical fixes throughout their lifecycle, for security, reliability, or to add support for new operating system versions. You must stay up-to-date with the latest patches to qualify for support.

See .NET Core Supported OS Lifecycle Policy to learn about Windows, macOS and Linux versions that are supported for each .NET Core release.

Author

Lee Coward
.NET Program Manager

Lee Coward is a Program Manager on the .NET team. He works on making .NET releases efficient for the team, and easy to acquire for the community.

8 comments

Discussion is closed. Login to edit/delete existing comments.

  • Magnus Markling

    Could you please elaborate on what is meant by “.NET Core 2.2” in this post? Is it just the runtime (“target framework”)? Does it include all Nuget packages starting with “Microsoft.AspNetCore”? Something else? Is EF Core included?

    • Lee CowardMicrosoft employee Author

      Magnus, yes, it includes everything which was shipped under the .NET Core 2.2 “banner”. This includes AspNetCore, EFCore, the 2.2 .NET Core SDKs and all NuGet packages referenced by the 2.2 shared frameworks (NETCore.App, AspNetCore.App and AspNetCore.All).

  • Marc

    I am using .Net Core 2.2 on Windows Server 2012 (not R2) servers and now it seems I don't have a viable upgrade path, because .Net Core 3 doesn't run on them?

    What now? Because it's not my servers and the customers don't want to upgrade just yet (2012 has extended support until 2023, beyond .Net Core 2.1 LTS, which ends in 2021?)

    Downgrade to 2.1 "LTS" and pray they upgrade on time?
    Regret my decision to...

    Read more
    • Jon

      Correction: downgrade to .NET Framework…

      • Marc

        Yeah you can call it whatever you want, but if my customers insist on running Server 2012 until the extended support ends, it doesn’t seem like I have much of a choice if .Net Core will not be supported on that platform.

        I separate my business code from the framework code anyways, so migrating won’t even be a huge undertaking… It’s just a shame I can’t use .Net Core on those projects.

  • Deoclecio Freire

    Nice to know that I have to rebuild and test the entire solution again!
    For sure this time my boss will let me migrate to C++.

    • Ron Barone

      Or you just stay with 2.2 and deploy it with your assembly… It’s not like 2.2 has a time bomb that makes it stop working.