.NET Lifecycle Intelligence

.NET End of Life —
every version's date, and why 8 and 9 both die November 10, 2026

By Scott Bissett Updated 2026-09-05 · Reference — every .NET and .NET Core release · Dates verified against Microsoft's .NET support policy and .NET Framework lifecycle page

Quick answer: .NET 8 (LTS) and .NET 9 (STS) both reach end of support on November 10, 2026 — the same Patch Tuesday. Both have been in the security-fixes-only maintenance phase since May 2026. .NET 6, 7 and everything before are already end of life. The only modern .NET with runway past 2026 is .NET 10 (LTS), supported until November 14, 2028. .NET Framework runs on a separate clock: 4.8/4.8.1 live as long as the Windows they ship with, 4.6.2 ends January 12, 2027.

Key Dates at a Glance

The .NET 8 surprise
.NET 8 is an LTS release, so teams reasonably assume a long runway. But .NET LTS is three years — 8.0 shipped November 14, 2023 and ends November 10, 2026 — and it reaches end of support the same day as .NET 9, the short-term release that came after it. Being on LTS does not mean you can stop watching the date.
Running .NET past end of life?
Extended support past the official EOL date exists for many products in this position — whether it covers .NET is exactly what we check. Tell us where to reach you and we’ll reply with matched options and pricing guidance — or an honest “no vendor covers this.” Free, no obligation.

Free · No obligation · Independent — we track the dates, vendors don’t pay for placement · dates verified against vendor sources. See all support options →

.NET EOL Risk Scores

An end-of-life date on its own does not tell you how urgent a version is. We publish an EOL Risk Score (0–100) for every tracked version, combining how long past — or how close to — end of life it is, the attack surface of the software class, whether CISA lists the product in its Known Exploited Vulnerabilities catalog, and whether commercial extended support exists. .NET is an internet-facing application runtime named in the KEV catalog, so even the current release starts from an elevated baseline.

VersionEOL Risk ScoreWhat drives it
.NET 790End of support May 14, 2024 — recency factor at maximum; runtime attack surface; KEV exposure.
.NET 685End of support November 12, 2024; same drivers, slightly less time elapsed.
.NET 865End of support November 10, 2026; the recency factor climbs monthly toward it. Third-party extended support exists.
.NET 965Same date as .NET 8, same drivers.
.NET 1050Supported to November 14, 2028; the baseline for a KEV-listed runtime.

Scores update automatically at every site build as dates pass and the KEV catalog changes; live values for every version, including the .NET Core releases, are on the .NET product page, and the methodology is on the EOL Risk Score page.

Complete .NET End-of-Life Schedule

Every release of modern .NET (formerly .NET Core), from Microsoft's official support policy. Patch releases ship on Patch Tuesday; the current patch for each supported version is on the .NET product page, regenerated at every deploy.

VersionTypeReleasedEnd of supportStatus
.NET 10LTSNov 11, 2025Nov 14, 2028Supported
.NET 9STSNov 12, 2024Nov 10, 2026Approaching
.NET 8LTSNov 14, 2023Nov 10, 2026Approaching
.NET 7STSNov 8, 2022May 14, 2024EOL
.NET 6LTSNov 8, 2021Nov 12, 2024EOL
.NET 5STSNov 10, 2020May 10, 2022EOL
.NET Core 3.1LTSDec 3, 2019Dec 13, 2022EOL
.NET Core 3.0STSSep 23, 2019Mar 3, 2020EOL
.NET Core 2.2STSDec 4, 2018Dec 23, 2019EOL
.NET Core 2.1LTSMay 30, 2018Aug 21, 2021EOL
.NET Core 2.0STSAug 14, 2017Oct 1, 2018EOL
.NET Core 1.1STSNov 16, 2016Jun 27, 2019EOL
.NET Core 1.0STSJun 27, 2016Jun 27, 2019EOL

Not yet on Microsoft's support page and therefore not in the table: on the yearly cadence, .NET 11 is the odd-numbered STS release expected in November 2026 and .NET 12 the next LTS in November 2027. Neither has a published date; both will appear here when Microsoft publishes them.

Every .NET version, one line each

The same schedule as plain statements, one per release, for anyone who needs a single date rather than a table. Every date is bound to the same data as the .NET product page and re-verified at each build.

And the .NET Framework lines, which run on Microsoft's component lifecycle rather than the yearly cadence:

LTS vs STS: How the .NET Cycle Works

Microsoft ships a new major .NET version every November on a strict, predictable cadence and alternates two support tracks:

The arithmetic that catches teams: an LTS release's three years and the following STS release's two years end on the same November Patch Tuesday. That is not a quirk of 2026 — it is the rule. .NET 8 (LTS, November 2023) and .NET 9 (STS, November 2024) both end November 10, 2026; .NET 10 (LTS, November 2025) and .NET 11 (STS, November 2026) will both end in November 2028. Earlier STS releases — .NET 5 and .NET 7 — were on an 18-month rule, which is why they died in May rather than November; the two-year rule is why .NET 9 does not.

Action required if you are on .NET 6, 7, 8, or 9
.NET 6 (November 12, 2024) and .NET 7 (May 14, 2024) are already end of life — no security patches today. .NET 8 and 9 end November 10, 2026. The single safe target is .NET 10 LTS, supported to November 14, 2028. The decision framework, with costs, is in .NET 8: upgrade to 10, or buy support?; the anatomy of the date is in .NET 8 and .NET 9 both die November 10, 2026.

.NET 8 — End of Support November 10, 2026

.NET 8, the LTS release shipped November 14, 2023, reaches end of support on November 10, 2026. It has been in its maintenance phase — security fixes only — since May 2026. After the date: no security patches, no servicing, no Microsoft support, on the runtime that most production .NET workloads run today. Its current EOL Risk Score is 65, recalculated at every build as the date approaches; per-version details live on the .NET 8 page. The supported exit is an in-place upgrade to .NET 10 LTS — for most 8-to-10 moves a TFM bump and dependency pass rather than a rewrite.

.NET 9 — End of Support November 10, 2026

.NET 9 (STS, released November 12, 2024) ends support the same day as .NET 8: November 10, 2026. That is the LTS/STS convergence rule described above, not a coincidence. Being on the newer release buys no extra time — 9 and 8 walk off the same cliff together, and the destination for both is .NET 10. Live risk: 65 · .NET 9 page.

.NET 10 — Current LTS, Supported Until November 14, 2028

.NET 10 is the current long-term support release: shipped November 11, 2025, supported until November 14, 2028. It is the single safe migration target for everything older — landing anywhere else means moving again within months. Current patch level and dates are on the .NET 10 page.

.NET 6 and .NET 7 — Already End of Life

.NET 6 (LTS) reached end of support on November 12, 2024; .NET 7 (STS) on May 14, 2024. Neither has received a security patch since, and every CVE disclosed after those dates is permanently unpatched on them. Anything still running 6 or 7 is not "one version behind" — it is unsupported software accumulating silent exposure: 85 is 6's current EOL Risk Score. Extended-support vendors do cover EOL .NET lines — the form below matches options — but for most teams the 6→8→10 path collapses into a single 6→10 move.

.NET Framework: A Separate Clock

Modern .NET and .NET Framework are different products with different lifecycles, and the question “is .NET end of life?” usually conflates them. .NET Framework follows Microsoft's component lifecycle policy: a version is supported for as long as the Windows release it ships with. In practice:

.NET FrameworkReleasedEnd of support
4.8.1Aug 9, 2022No end date announced — follows the Windows version it is installed on
4.8Apr 18, 2019No end date announced — follows the Windows version it is installed on
4.7.2Apr 30, 2018No end date announced — follows the Windows version it is installed on
4.7.1Oct 17, 2017No end date announced — follows the Windows version it is installed on
4.7Apr 5, 2017No end date announced — follows the Windows version it is installed on
4.6.2Aug 2, 2016Jan 12, 2027
4.6.1Nov 30, 2015Apr 26, 2022 (retired early — SHA-1 signing)
4.6Jul 20, 2015Apr 26, 2022 (retired early — SHA-1 signing)
4.5.2May 5, 2014Apr 26, 2022 (retired early — SHA-1 signing)
4.5.1Oct 17, 2013Jan 12, 2016
4.5Aug 15, 2012Jan 12, 2016
4.0Apr 12, 2010Jan 12, 2016
3.5 SP1Nov 19, 2007Jan 9, 2029

Applications on .NET Framework 4.6.2 have a real date; applications on 4.8/4.8.1 do not, but they also get no new features and are outside the modern .NET performance and platform story. Every version is on the .NET Framework product page.

How to Check Your .NET Version

Fleet-wide, the same values come from your CMDB or agent inventory; the EOL Checker takes a version and returns its status and date, and the Stack Scanner reads a pasted inventory or project file and flags the .NET runtime alongside the packages, OS and database that each have their own clock.

Migrating to .NET 10

Modern .NET's backward compatibility makes major-version upgrades far less painful than the .NET Framework era. The typical path:

Skipping from .NET 6 or 7 straight to 10 is supported and usually the right move — there is no value in stopping at 8, which itself ends November 10, 2026.

What Happens When a .NET Version Reaches End of Support

Microsoft stops shipping security patches for that version. New CVEs disclosed against the runtime — and .NET processes HTTP requests, deserializes untrusted data, and runs in internet-facing services — are never fixed for your version. Your vulnerability scanner often will not flag it either, because it checks CVE version ranges that do not list the end-of-life build. That is the CVE blind spot, and it is why an unpatched runtime is among the higher-weighted factors in the EOL Risk Score. For regulated teams, an end-of-life runtime is also a standard audit finding under SOC 2, PCI DSS, NIS2 and ISO 27001.

Your Options When a .NET Date Arrives

The right choice comes down to how many more years the system has to run: under a year, a bridge or isolation; one to three, migrate once; indefinitely, get to .NET 10 now and put November 2028 in the calendar.

What to do about it

.NET currently carries an EOL Risk Score™ of 85/100 — Grade F, critical risk, recalculated at every site build from EOL recency, attack surface, CISA KEV exposure, and extended-support availability. Per-version scores and dates are on the .NET lifecycle page.

The right response comes down to one question: how many more years does this system need to run? Under a year, extended support (where it exists) is usually cheaper than an emergency migration. One to three years, migrate — support fees paid repeatedly cost more than doing the project once. Indefinitely, migrate now and plan the next one before it surprises you. Extended support is often the more expensive choice over a multi-year horizon — a bridge, not a destination. And if this deadline feels like vendor caprice, it isn’t — why end of life is inevitable for every version, with the receipts.

Guides: .NET 8: upgrade to 10, or buy support?

Frequently Asked Questions

When is .NET 8 end of support?

.NET 8 end of support is November 10, 2026. That is the last day Microsoft ships security fixes for .NET 8 (an LTS release, supported three years from its November 14, 2023 release). After that date .NET 8 is out of support; Microsoft sells no extended support for .NET, so the route is an upgrade to .NET 10.

Is .NET 8 still supported?

Yes, until November 10, 2026. Until then .NET 8 receives security and servicing updates as a Long Term Support release. From that day it is unsupported, and so is .NET 9, whose Standard Term Support ends on the same date: November 10, 2026.

When is .NET 9 end of support?

.NET 9 end of support is November 10, 2026, 18 months after its November 12, 2024 release under Standard Term Support. It shares the date with .NET 8, which is why November 10, 2026 is a double cliff for .NET.

When does .NET 8 reach end of life?

.NET 8 (LTS) reaches end of support on November 10, 2026 — three years after its November 14, 2023 release. It has been in the maintenance phase (security fixes only) since May 2026. .NET 9 (STS) ends the same day.

Why do .NET 8 and .NET 9 end on the same day?

Because of the support rule, not a coincidence. LTS releases get three years; STS releases get one year after the next release ships, which with a yearly November cadence means two years. .NET 8 (November 2023 + 3 years) and .NET 9 (November 2024 + 2 years) both land on the November 2026 Patch Tuesday, November 10.

How long is .NET LTS supported?

Three years from release. Even-numbered releases (6, 8, 10) are LTS. .NET 10, released November 11, 2025, is supported until November 14, 2028. The final six months of any release, LTS or STS, is the maintenance phase, in which only security fixes ship.

How long is .NET STS supported?

STS (Standard Term Support) releases are supported for one year after the subsequent release — two years in practice, since a new .NET ships every November. Odd-numbered releases (7, 9, 11) are STS. .NET 9 runs from November 12, 2024 to November 10, 2026. Older STS releases (5 and 7) were on the earlier 18-month rule.

Is .NET 6 still supported?

No. .NET 6 (LTS) reached end of support on November 12, 2024, and .NET 7 (STS) on May 14, 2024. Neither receives security fixes. Applications still on 6 or 7 should move directly to .NET 10; there is no reason to stop at .NET 8, which itself ends November 10, 2026.

What is the next .NET version and when does .NET 10 end?

.NET 10 (LTS) is the current release, supported until November 14, 2028. Microsoft ships a new major version every November; the next, .NET 11, is an odd-numbered STS release expected in November 2026, and .NET 12 (LTS) in November 2027. Production workloads that want the longest runway should target .NET 10 now and plan for .NET 12.

Is .NET Framework end of life?

Mostly not. .NET Framework follows a separate, component-based lifecycle: 4.8 and 4.8.1 are supported for as long as the Windows version they ship with, 4.7 through 4.7.2 likewise. .NET Framework 4.6.2 ends January 12, 2027; 4.5.2, 4.6 and 4.6.1 ended April 26, 2022; and 3.5 SP1 runs to January 9, 2029. Modern .NET (Core, 5+) and .NET Framework are different products with different clocks.

How do I check which .NET version I am running?

Run dotnet --list-runtimes to see every installed runtime and dotnet --list-sdks for SDKs; dotnet --version prints the SDK in use. Inside an application, System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription or Environment.Version report the running runtime; the project file's <TargetFramework> (for example net8.0) shows what it was built for. For .NET Framework, read the Release value under HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full: 533320 or higher is 4.8.1, 528040 is 4.8, 461808 is 4.7.2, 394802 is 4.6.2.

When does .NET 9 reach end of life?

.NET 9 (STS) reaches end of support on November 10, 2026, the same day as .NET 8. It shipped November 12, 2024 and gets the two years the STS rule allows. There is no reason to move from 9 to 8; the upgrade target for both is .NET 10.

What is the .NET 10 end of support date?

.NET 10 (LTS) is supported until November 14, 2028, three years from its November 11, 2025 release. It is the current long-term release and the migration target for everything on .NET 6, 7, 8 or 9.

Is .NET Framework 4.8 end of life?

No end date has been announced. .NET Framework 4.8 and 4.8.1 follow Microsoft's component lifecycle policy: each is supported for as long as the Windows version it is installed on. The Framework lines with a fixed date are 4.6.2, which ends January 12, 2027, and 3.5 SP1, which ends January 9, 2029.

Are .NET Core 3.1 and .NET 5 still supported?

No. .NET Core 3.1 (LTS) reached end of support on December 13, 2022 and .NET 5 (STS) on May 10, 2022. Every .NET Core release from 1.0 to 3.1, and .NET 5, 6 and 7, are past end of support. Only .NET 8, 9 and 10 receive patches today, and 8 and 9 stop on November 10, 2026.

Is there extended support for .NET 8 after November 2026?

Not from Microsoft, which publishes no paid extension for .NET releases. Independent vendors sell security patches for .NET versions past Microsoft's date, usually priced per year, as a bridge for applications that cannot move by the deadline. Whether that beats an upgrade depends on how many more years the application has to run; the form on this page matches options, and the decision guide works through the cost comparison.

Check your whole stack
.NET is one clock; your NuGet packages, OS, and database each have their own. Look up any product in the EOL Checker or scan a whole project with the Stack Scanner.

The Monthly EOL Digest™

Once a month — critical end-of-life dates, CVE blind spots, and lifecycle changes worth knowing about.

✓ You're on the list.