Microsoft is facing criticism over its .NET support policy. According to developers, the platform’s current lifecycle does not align well enough with the upgrade cycles of large organizations. As a result, many companies continue to rely on outdated versions or even the classic .NET Framework.
A new discussion on GitHub has reignited an old frustration, reports DevClass. Since the introduction of the modern .NET, Microsoft has released a new major version annually. Only the even-numbered versions receive Long-Term Support (LTS), which lasts three years. Odd-numbered versions receive two years of support.
According to the discussion’s initiator, it is precisely this three-year LTS period that poses the problem. By the time a new LTS version becomes available, two of the three support years for the previous LTS have already elapsed. As a result, organizations are left with only about a year to migrate their applications before the old version reaches end of support.
Upgrade window is too short
For enterprises, one year is often insufficient. Not only must their own applications be adapted and tested, but dependencies on external software vendors also play a role. Furthermore, implementations often need to be carefully planned to avoid disrupting business processes.
Another developer reports that telemetry from his software shows that about half of the installed environments are still running on .NET versions for which support has since ended. According to him, many organizations therefore prefer to use the older .NET Framework, which receives significantly longer support thanks to its alignment with the lifecycle of Windows.
However, that choice is becoming increasingly difficult. Modern development frameworks, including ASP.NET Core, no longer support the .NET Framework. More and more libraries are also moving away from the platform.
A topic of discussion for years
The criticism is not new. As early as 2023, developers were already raising the same issue. At the time, Microsoft defended the current lifecycle by arguing that shorter support gives development teams more leeway to develop new functionality. According to program manager Richard Lander, Microsoft did consider longer support and paid extended support, but ultimately decided to offer only the current free support model.
This policy differs from that of some other development platforms. Java offers five years of regular support for LTS versions, which can often be extended for a fee. Python also provides five years of security updates for each release.
.NET framework remains relevant
The limited support for modern .NET seems to be one of the reasons why many organizations continue to use the .NET Framework longer than Microsoft likely anticipated. This was also evident earlier this year during a discussion about ending support for the .NET Framework in the Microsoft.Data.Sqlite library. In that discussion, developers pointed out that .NET Framework 4.8 and .NET Standard 2.0 are currently still the most attractive options for organizations that prioritize long-term stability over rapid adoption of new .NET versions.
So far, Microsoft has given no indication that it intends to extend the current LTS cycle. As a result, the tension between a rapid innovation process and enterprises’ need for long-term stability appears set to persist for the time being.