.NET Framework Evolution

Microsoft .NET Framework
Microsoft .NET Framework (Source: Wikipedia
)

.NET Framework is a software development framework developed by Microsoft which supports many languages like C#, Visual Basic, F# etc. .NET Framework includes a  large class library called Framework Class Library which provides language interoperability. .NET Framework uses an environment known as Common Language Runtime to execute the programs written in different languages. Common Language Runtimeis also known as CLR which converts code into MSIL (Microsoft Intermediate Language) i.e. Machine level language. CLR also provides services like security, memory management, exception handling etc.

Microsoft started development of .NET framework in late 1990s, originally under the Next Generation Windows Services and by late 2000, the first beta version of .NET Framework were released. Then after so many changes have come to .NET Framework in different versions. In this article, I am trying to cover basic details of different versions of .NET Framework and features that are included in every version.

Overview of .NET Framework
Overview of .NET Framework (Source: Wikipedia)

As shown in the above figure there are so many different versions that are available which provide different functionality. Actually It is backward compatible; i.e.,  Upper level provides functionality of lower levels. So version 4.6.1 provides all the functionality of lower levels of .NET Framework.

1. .NET Framework 1.0

First version of .NET Framework.

2. .NET Framework 1.1

C# Version: 1.2(April 2003)
CLR Version: 1.1

Major Features,

  • ASP.NET and ADO.NET updates
  • Side by side execution
  • .NET Compact framework
  • Secure coding guideline
  • Information about application deployment

3. .NET Framework 2.0

C# Version: 2.0(November 2013)
CLR Version: 2.0

Major Features,

  • 64-bit platform support
  • Access Control List Support
  • Authenticated Stream
  • COM Interop services enhancement
  • Console Class addition
  • Data Protection APIs
  • Debugger display attributes
  • Debugger edit and continuous support
  • Detecting changes in network connectivity
  • EventLog Enhancement
  • FTP Support
  • Generics and Generic Collection
  • Globalization
  • I/O enhancement
  • Manifest-based activation
  • .NET Framework Remoting
  • Ping
  • Obtaining information about Local Computer
  • Processing HTTP request within application
  • Programmatic control of caching
  • Security Exception
  • Serialization
  • SMTP Support
  • Strongly Type Support
  • Threading Improvements
  • Trace Data Filtering
  • Transactions
  • Web Services
  • Click once deployment

4. .NET Framework 3.0

C# Version: 3.0(November 2007)
CLR Version: 2.0

Major Features:,

  • Windows Communication Foundation
  • Windows Presentation Foundation
  • Windows Forms
  • CardSpace

5. .NET Framework 3.5

C# Version: 3.0(November 2007)
CLR Version: 2.0

Major Features,

  • ASP.NET Ajax enabled Websites
  • LINQ
  • Dynamic Data
  • Collections
  • I/O and Pipes
  • LatencyMode in Garbage Collection
  • Better Reader and Writer Lock
  • ThreadPool Performance Enhancement
  • Time Zone Improvements
  • TimeZoneInfo
  • DateTimeOffset
  • Cryptography Enhancements
  • Peer-to-peer networking
  • Collaboration using Peer-to-peer networking
  • Socket Performance Enhancements
  • Durable Services
  • WCF Syndications
  • WCF and Partial Trusts
  • Web Service interoperability

6. .NET Framework 4.0

C# Version: 4.0(April 2010)
CLR Version: 4

Major Features,

  • Expanded Base Class
  • Cross-Platform Development with portable class library
  • Managed Extensibility Framework
  • Dynamic Language Runtime
  • Code Contracts
  • Covariance and Contravariance
  • Parallel Computing

7. .NET Framework 4.5

C# Version: 5.0(August 2012)
CLR Version: 4

Major Features,

  • Support for Windows Store Apps
  • Support for X509 certificates containing FIPS 186-3 DSA
  • Increased clarity for inputs to ECDiffieHellman key derivation routines
  • persisted-key symmetric encryption
  • SHA-2 Hashing
  • Soft Keyboard Support
  • Per-monitor DPI
  • WPF,WCF,WF,ASP.NET updates

8. .NET Framework 4.5.1

C# Version: 5.0
CLR Version: 4.0

Major Features,

  • Support for Windows Phone Store Apps
  • Automatic Binding Redirection
  • Performance and Debugging Enhancements
  • Async Programming
  • Caller info Attributes
  • Loop variable Closure

9. .NET Framework 4.5.2

C# Version: 5.0
CLR Version: 4.0

Major Features,

  • New APIs for transactional System
  • System DPI resizing in Windows Forms controls
  • Profiling Improvements
  • ETW and Stress logging improvements

10. .NET Framework 4.6

C# Version: 6.0
CLR Version: 4.0

Major Features,

  • Compilation Using .NET Native
  • ASP.NET Core 5
  • Event Tracing Improvements
  • Support for page endings
  • Task-based API for Asynchronous Response Flushing
  • Model binding supports task-returning methods
  • HTTP/2 Support
  • Support for the Token Binding Protocol
  • Randomized string hash algorithms
  • 64-bit JIT Compiler for managed code
  • Assembly loader improvements
  • SIMD-enabled types
  • Enhancements to garbage collection (GC)
  • Compatibility switches
  • Task-based asynchronous pattern (TAP)
  • HDPI improvements
  • SSL Support
  • Sending messages using different HTTP connections

11. .NET Framework 4.6.1

C# Version: 6.0
CLR Version: 4.0

Major Features,

  • Support for X509 certificates containing ECDSA
  • Always Encrypted support for hardware protected keys in ADO.NET
  • Spell checking improvements in WPF
  • Native Image Generator (NGEN) PDBs

12. .NET Framework 4.6.2

C# Version: 6.0
CLR Version: 4.0

Major Features,

  • Cryptography enhancements
  • Including support for X509 certificates containing FIS 186-3 DSA
  • Support for persisted-key symmetric encryption
  • SignedXml support for SHA-2 hashing
  • Increased clarity for inputs to ECDiffieHellman key derivation routines.
  • Support for converting Windows Forms and WPF apps to UWP apps.
  • ClickOnce support for the TLS 1.1 and TLS 1.2 protocols.
  • Using directives to import static members
  • Exception Filter
  • Indexed Members
  • Element Initializers
  • Await in catch and finally block
  • Collection initializers

Conclusion

These are the different versions of .NET Framework with features included in every new version. I used MSDN and other sites as a reference to make this article better.