Monday, December 14, 2020

C# language version history

 These are the versions of C# known about at the time of this writing:

In response to the OP's question:

What are the correct version numbers for C#? What came out when? Why can't I find any answers about C# 3.5?

There is no such thing as C# 3.5 - the cause of confusion here is that the C# 3.0 is present in .NET 3.5. The language and framework are versioned independently, however - as is the CLR, which is at version 2.0 for .NET 2.0 through 3.5, .NET 4 introducing CLR 4.0, service packs notwithstanding. The CLR in .NET 4.5 has various improvements, but the versioning is unclear: in some places it may be referred to as CLR 4.5 (this MSDN page used to refer to it that way, for example), but the Environment.Version property still reports 4.0.xxx.

As of May 3, 2017, the C# Language Team created a history of C# versions and features on their GitHub repository: Features Added in C# Language Versions. There is also a page that tracks upcoming and recently implemented language features.



=========================================================================


This is the same as most answers here, but tabularized for ease, and it has Visual Studio and .NET versions for completeness.

C# versionVS version.NET versionCLR versionRelease date
1.020021.01.0Feb 2002
1.220031.11.1Apr 2003
2.020052.02.0Nov 2005
3.02.0Nov 2006
3.020083.52.0Nov 2007
4.020104.04Apr 2010
5.020124.54Aug 2012
5.020134.5.14Oct 2013
4.5.24May 2014
6.020154.64Jul 2015
4.6.14Nov 2015
4.6.24Aug 2016
7.02017Mar 2017
4.74May 2017
7.12017(v15.3)Aug 2017
4.7.14Oct 2017
7.22017(v15.5)Dec 2017
4.7.24Apr 2018
7.32017(v15.7)May 2018
8.020194.84Apr 2019
9.02019(v16.8)5.0^^^Nov 2020

^ - .NET 5.0 is not a newer version of .NET framework but .NET Core 3. Starting from .NET 5.0, there are no newer versions of .NET full framework.

^^ - There are no separate CLR (CoreCLR) versions for .NET Core. Whatever is the .NET Core version is the CoreCLR version. So not mentioning it.


Note: .NET development is pretty much independent of VS these days, there is no correlation between versions of each.
Refer to ".NET Framework versions and dependencies" for more.





No comments:

Post a Comment

How to register multiple implementations of the same interface in Asp.Net Core?

 Problem: I have services that are derived from the same interface. public interface IService { } public class ServiceA : IService { ...