I always find it difficult to track .Net and C# language release history. E.g. what .net versions are released with different visual studio versions and what features are available in different versions of C# language. So I thought I will compile this information in this blog so I and other can refer it when needed.
.Net Version Release history.Net Version | Release Date | Tool | Feature |
---|
1.0 | 2002 | Visual Studio .Net | First release of .net |
---|
1.1 | 2003 | Visual Studio 2003 | Support for ASP.Net mobile controls
Supports side-by-side execution
Security Changes |
---|
2.0 | 2005 | Visual Studio 2005 | Generics (with generic collection)
Nullable Types
Support of IPv6 addresses in .net remoting
Common Language Runtime 2.0 |
---|
3.0 | 2006 | – | WCF (Communication framework)
WPF (Presentation framework)
WF (Workflow Foundation) |
---|
3.5 | 2008 | Visual Studio 2008 | LINQ
Addin / Plugin Model (System.AddIn.Contract.dll) |
---|
4.0 | 2010 | Visual Studio 2010 | Parallel Computing
Code Contracts
Lazy Initialization
Dynamic Language Runtime
In-process side-by-side hosting
Background garbage collection
Covariance and Contravariance
Common Language Runtime 4.0 |
---|
4.5 | 2012 | Visual Studio 2012 | Enhanced regular expression support
Default culture for application domain
Zip compression
Support of array with size more than 2GB
Asynchronous file operation
Improvement in parallel computing |
---|
4.5.1 | 2013 | Visual Studio 2013 | Ability to collect diagnostics information
Ability to explicitly compact the large object heap (LOH) during garbage collection
Additional performance improvements such as ASP.NET app suspension
Multi-core JIT improvements |
---|
Note:
- .Net 3.5, 3.0 and 2.0 uses same common language runtime version 2.0.
- .Net 4.5, 4.5.1 and 4.0 share same common language runtime version 4.0.
- I have not included language features in above list e.g. Partial classes / anonymous method. I will cover them in following section.
C# Language Release historyC# Version | Release Date | Tool | Feature |
---|
1.0 | 2002 | Visual Studio .Net | First release of .net |
---|
2.0 | 2005 | Visual Studio 2005 | Partial classes
Support for generics
Iterators
Nullable syntax
Anonymous methods
Static class
Volatile keyword |
---|
3.0 | 2008 | Visual Studio 2008 | Implicitly Typed Local Variables
Extension Methods
Lambda Expressions
Type Inference
Object and Collection Initializers
Anonymous Types
Automatically Implemented Properties
Expression Trees |
---|
4.0 | 2010 | Visual Studio 2010 | Support for Covariance and Contravariance
Optional parameters and named arguments
Support for Dynamic and DLR
Enhanced support for COM interop |
---|
5.0 | 2012 | Visual Studio 2012 | Async / Await Feature
Support for caller information |
---|