.NET 8 and .NET 9 both reach end of support on 10 November 2026. That is slightly odd at first glance because one is LTS and the other is STS, but the operational answer is simple: teams running either version now have the same deadline for moving to a supported runtime.
Microsoft’s support reminder says security fixes, servicing updates, and technical support stop after that date. Applications will not suddenly refuse to start, but continuing to run them means accepting vulnerabilities that will no longer be patched. Microsoft recommends .NET 10, an LTS release supported through November 2028.
Changing TargetFramework to net10.0 is the visible part of the upgrade, not the whole job. Build images, hosting runtimes, CI runners, deployment tooling, NuGet dependencies, and observability agents all need to agree with it. I would start with the least awkward service, document the breakage, and turn that into the upgrade path for the rest rather than opening twenty upgrade branches at once.
November sounds comfortably distant in July, right up until release work, holidays, and every other dependency deadline consume the calendar. This is the sort of boring platform work that is much cheaper when it has a date and an owner now.
