contact us

.NET 8 and .NET 9 Reach End of Support on November 10, 2026: Plan the Migration to .NET 10

.NET 8 and .NET 9 Reach End of Support

Softwarium

Plan the Migration to .NET 10

Microsoft ends support for .NET 8 and .NET 9 on November 10, 2026. After that date neither version receives security fixes, servicing updates, or technical support, and Microsoft recommends upgrading to .NET 10, an LTS release supported until November 14, 2028.

Applications on either version keep running past the cutoff. Vulnerabilities found after it stay unpatched, which turns .NET migration planning into a security and maintenance priority with a fixed date.

What ends on November 10, 2026

The .NET 8 end of support and the .NET 9 end of support fall on the same date, November 10, 2026, according to Microsoft's .NET and .NET Core support policy. Both versions remain supported until then. The policy currently places them in the maintenance phase, the final six months of a release's support window, when updates cover security fixes only.

Version

Release type

Released

Support phase

End of support

.NET 8

LTS (Long Term Support)

November 14, 2023

Maintenance

November 10, 2026

.NET 9

STS (Standard Term Support)

November 12, 2024

Maintenance

November 10, 2026

.NET 10

LTS (Long Term Support)

November 11, 2025

Active

November 14, 2028

End of support for .NET 8 and .NET 9: November 10, 2026

.NET 8 (LTS)

 

Released Nov 14, 2023

         

Nov 10, 2026

       
                         

.NET 9 (STS)

     

Released Nov 12, 2024

     

Nov 10, 2026

       
                         

.NET 10 (LTS)

         

Released Nov 11, 2025

       

Nov 14, 2028

 
     

2024

 

2025

 

2026

 

2027

2028

 

2029

Patch Tuesday, November 10

November 10 is also a Microsoft Patch Tuesday. In its June 29, 2026 announcement, the .NET team said .NET 8 and .NET 9 may each receive one final update that day if a known critical issue exists.

What running an unsupported runtime means

Production systems on .NET 8 and .NET 9 will start up and serve requests on November 11 much as they did the day before. Behind them, Microsoft stops providing four things:

 

  • No security fixes. Microsoft issues no new security updates for either version after the cutoff, including for vulnerabilities disclosed later.
  • No servicing updates. Bug and reliability fixes for the .NET 8 and .NET 9 runtimes stop arriving through the monthly servicing releases.
  • No technical support. Microsoft support stops taking cases that involve .NET 8 or .NET 9 applications.

  • Tooling warnings. Once the Visual Studio 2022 servicing update ships, the out-of-support status shows inside the development environment itself.

InfoWorld's report on the announcement published July 1, 2026, relayed Microsoft's warning that an application left on an unsupported version stays exposed to vulnerabilities Microsoft will not patch.

 

 “You are strongly recommended to not use out-of-support software.”

How to upgrade to .NET 10

Microsoft recommends .NET 10 for applications on either version. It shipped on November 11, 2025 as an LTS release, with support through November 14, 2028. That makes the move a .NET LTS migration for both groups: .NET 8 teams stay on the long-term track, and .NET 9 teams leave the STS cycle for a release with two more years of security fixes ahead of it.

 

What it takes to migrate .NET 8 to .NET 10

Microsoft's guidance starts in the project file. Setting the TargetFramework property to net10.0 retargets the project, and the development and hosting environments then need updating to .NET 10 as well. The .NET team's upgrade guide covers the process in detail.

<PropertyGroup>
  <TargetFramework>net10.0</TargetFramework>
</PropertyGroup>

The same path applies to .NET 9 projects. For the detail work, Microsoft points to the .NET 10 breaking changes documentation, which lists API and behavior changes between versions. Microsoft has officially deprecated the .NET Upgrade Assistant and now recommends GitHub Copilot upgrade, an AI agent that ships with Visual Studio 2026 and with Visual Studio 2022 version 17.14.16 or later. The agent starts with an assessment of the solution and then carries out the upgrade as a series of tasks, each with its own validation criteria.

 

The Four-Step .NET 10 Migration Sequence

The Four-Step .NET 10 Migration Sequence breaks a .NET migration into Inventory, Upgrade, Validate and Deploy, so each stage ends with something the team can check before the next one begins.

01

Inventory

Map projects and packages

 

02

Upgrade

Retarget to net10.0

 

03

Validate

Prove behavior on .NET 10

 

04

Deploy

Roll out in stages

  • Inventory. List the projects and container images that target .NET 8 or .NET 9, then record which NuGet packages already publish .NET 10 builds and which still lack them.
  • Upgrade. Retarget to net10.0 starting with shared libraries. GitHub Copilot upgrade, Microsoft’s replacement for the deprecated .NET Upgrade Assistant, plans the retargeting and carries it out, and the breaking changes list helps the team catch API changes before the first test run.

  • Validate. Run the automated tests against .NET 10 and compare application behavior in a staging environment before production traffic moves.

  • Deploy. Update CI/CD pipelines and container base images to .NET 10, then release in stages so an issue surfaces on a small share of traffic first.

A .NET upgrade checklist for the migration

A solution that compiles on net10.0 has cleared the first gate. Production cutover carries less risk once the five conditions below hold.

Checkpoint

Ready for cutover when

 Dependencies

Each NuGet package in the solution has a version that supports .NET 10, and those versions are pinned in source control.

 Third-party libraries

Vendors of commercial components have confirmed .NET 10 support in their release notes or in writing.

 CI/CD

Build agents install the .NET 10 SDK, and release pipelines produce net10.0 artifacts.

 Hosting

Servers and container base images run the .NET 10 runtime in test environments as well as production.

 Tests

Automated tests pass on .NET 10, and coverage reaches the user paths where a behavior change would hurt most.

Who should start now

Four conditions stretch a migration timeline. Teams that recognize one of them in their own codebase have the strongest reason to begin before November 10.

01

Large solutions with many projects

Retargeting moves project by project, with shared libraries first, so a solution with dozens of interdependent projects carries a long sequence of upgrades and rebuilds.

 

02

Dependencies without .NET 10 support

A package with no .NET 10 release leaves two options: waiting on its maintainer or replacing it. Both need planning time well ahead of cutover.

     

03

Limited automated test coverage

Thin coverage pushes behavior checks into manual testing, which slows the Validate step and raises the chance that a regression reaches users.

 

04

Many services or container images to redeploy

The Deploy step grows with the number of services, since each one needs its own rebuild and pipeline update before a staged rollout.

Planning the migration with professionals

 

Softwarium is a software engineering and IT staff augmentation company delivering production systems on .NET and C#, with Azure Certified Engineers on the team.

For companies short on in-house capacity, a dedicated .NET development team adds distributed engineers to the existing codebase as a co-managed engineering team. That capacity carries the .NET migration from inventory through staged rollout, and the in-house team keeps shipping product features in parallel.

Add .NET engineering capacity

Teams running .NET 8 or .NET 9 in production can add .NET engineering capacity to plan the upgrade to .NET 10 and carry it through before November 10.

Frequently asked questions

When do .NET 8 and .NET 9 reach end of support?

The .NET 8 end of support and the .NET 9 end of support both fall on November 10, 2026, a Microsoft Patch Tuesday. Either version may receive one final update that day if a known critical issue exists.

 

Do .NET 8 and .NET 9 applications stop working after that date?

They keep running. After November 10, 2026, Microsoft issues no new security fixes for either version, so vulnerabilities discovered later remain open until the application moves to a supported release such as .NET 10.

 

Which version should .NET 8 and .NET 9 applications move to?

Microsoft recommends .NET 10, an LTS release supported until November 14, 2028. Teams that migrate .NET 8 to .NET 10 and teams moving from .NET 9 follow the same upgrade path.

 

How do I upgrade a project to .NET 10?

To upgrade to .NET 10, change the TargetFramework property in the project file to net10.0 and update the development and hosting environments. That change starts the migration. The rest of the work covers checking NuGet dependencies for .NET 10 support and validating application behavior on the new runtime, with Microsoft’s breaking changes documentation as the reference. For this work Microsoft recommends GitHub Copilot upgrade, an AI agent that assesses the solution and then carries out the upgrade as a planned series of tasks.

Comments