I am a huge fan of .NET. I have worked in .NET all the back in the v1.1 days. I enjoyed it then, and I enjoy it now. But I have a bone to pick with the .NET Core team.
.NET Core is evolving faster than .NET Framework ever did. This fast-paced evolution is probably a good thing as it provides the ability to respond quickly to the needs of developers. I believe this makes .NET a better platform.
But this fast movement seems to be coming at a cost. Supporting multiple versions of .NET is leading Microsoft to make some versions of .NET available only for a very short amount of time.
An example of this problem is .NET Core 3.0, which was released in September 2019, is scheduled to go out of support in March 2020. It’s all documented right here on Microsoft’s .NET Core Support policy page (or see the table below).
This isn’t very long for something to be supported. This situation makes choosing .NET 3.0 as a development platform a bad idea. Developers should probably wait for .NET 3.1, the LTS version. .NET 3.0 should probably just be referred to as a “preview” release or something (even though its life is even shorter than most preview RCs). This kind of thinking will only scare developers from choosing .NET as their platform.
Another complexity here is Azure’s support of .NET Core versions. It appears .NET Core versions take a little while to get support in all regions on both Windows / Linux. If Microsoft is going to make .NET 3.0 an almost dead-on-arrival version, it should make .NET 3.1 available everywhere in Azure immediately.
End of mini-rant.