On 10 November 2026 , .NET 8 and .NET 9 both reach end of support. So does the in-process model for Azure Functions. After that date there are no more security patches for those runtimes. Nothing stops working on the 11th, but every vulnerability found from then on stays open.
.NET 10 is the current LTS release, supported until November 2028, so it's the obvious target. And for a lot of projects the core of the upgrade really is a one-line change:
- <TargetFramework>net8.0</TargetFramework> + <TargetFramework>net10.0</TargetFramework>
Enter fullscreen mode
Exit fullscreen mode
The problem is that the version your app actually builds and runs on isn't decided in that one line. In a typical repo it's spread across six or seven files, and each one can quietly keep you on .NET 8 after you think you've moved. This post walks through where to look, what to change, and what tends to break.
1.…