Microsoft .NET Framework Factsheet

Last updated Sunday, 28 April 2019


Introduction

Microsoft .NET is an open source, high-level runtime infrastructure upon which many modern desktop, mobile, and web applications are built. It encompasses software applications written in Visual Basic and C# which can be deployed on various system platforms, including Windows, macOS, Linux, Windows Phone, iOS, and Android.


The .NET framework comprises two major components. The more important of the two is the Common Language Runtime (CLR), which is the virtual machine component responsible for the compilation, interpretation, and execution of source code. CLR utilizes a compiling system called "just-in-time" (JIT), which converts source code into machine code (binary digits) that can be read by the CPU. The other component is the .NET class library, which is an assembly of .NET's core development platforms, such as ASP.NET, WinForms, and Windows Presentation Foundation (WPF).


The following information describes the version history of the .NET framework and each version's purpose and compatibility. This information is found directly in the Microsoft Developer Network (MSDN) article .NET Framework Versions and Dependencies. Click the link for more information.

.NET version CLR version New features Included with Windows Compatible with Windows
4.7 4.0
  • Support for the level of TLS support provided by the operating system.
  • Ability to configure default message security settings for TLS1.1 or TLS1.2.
  • Improved reliability of the DataContractJsonSerializer.
  • Improved reliability of serialization and deserialization with WCF applications.
  • Ability to extend the ASP.NET object cache.
  • Support for a touch/stylus stack based on WM_POINTER Windows messages instead of the Windows Ink Services Platform (WISP) for WPF applications.
  • Use of Windows' Print Document Package API for printing in WPF applications.
  • 10.1703 (CU)
  • 10.1703 (CU)
  • 10.1607 (AU)
  • 8.1
  • 7
  • Server 2016
  • Server 2012 R2
  • Server 2012
  • Server 2008 R2 SP1
4.6.2 4.0
  • Cryptography enhancements, including support for X509 certificates containing FIS 186-3 DSA, support for persisted-key symmetric encryption, SignedXml support for SHA-2 hashing, and increased clarity for inputs to ECDiffieHellman key derivation routines.
  • For Windows Presentation Foundation (WPF) apps, soft keyboard support and per-monitor DPI.
  • ClickOnce support for the TLS 1.1 and TLS 1.2 protocols.
  • Support for converting Windows Forms and WPF apps to UWP apps.
  • 10.1607 (AU)
  • Server 2016
  • 10.1607 (AU)
  • 8.1
  • 7
  • Server 2016
  • Server 2012 R2
  • Server 2012
  • Server 2008 R2 SP1
4.6.1 4.0
  • Support for X509 certificates containing ECDSA.
  • Always Encrypted support for hardware protected keys in ADO.NET.
  • Spell checking improvements in WPF.
  • 10.1511 (NU)
  • 10
  • 8.1
  • 8
  • 7
  • Server 2012 R2
  • Server 2012
  • Server 2008 R2 SP1
4.6 4.0
  • Compilation using .NET Native.
  • ASP.NET Core 5.
  • Event tracing improvements.
  • Support for page encodings.
  • 10
  • 10
  • 8.1
  • 8
  • 7
  • Vista
  • Server 2012 R2
  • Server 2012
  • Server 2008 R2 SP1
  • Server 2008 SP2
4.5.2 4.0
  • New APIs for transactional systems and ASP.NET.
  • System DPI resizing in Windows Forms controls.
  • Profiling improvements.
  • ETW and stress logging improvements.
  • 10
  • 8.1
  • 8
  • 7
  • Vista
  • Server 2012 R2
  • Server 2012
  • Server 2008 R2 SP1
  • Server 2008 SP2
4.5.1 4.0
  • Support for Windows Phone Store apps.
  • Automatic binding redirection.
  • Performance and debugging improvements.
  • 8.1
  • 10
  • 8.1
  • 8
  • 7
  • Vista
4.5 4.0
  • Support for Windows Store apps.
  • WPF, WCF, WF, ASP.NET updates.
  • 8
  • Server 2012 R2
  • 10
  • 8.1
  • 8
  • 7
  • Vista
  • Server 2012 R2
  • Server 2012
  • Server 2008 R2 SP1
  • Server 2008 SP2
4.0 4.0
  • Expanded base class libraries.
  • Cross-platform development with Portable Class Library.
  • MEF, DLR, code contracts.
  • 10
  • 8.1
  • 8
  • 7
  • Vista
  • XP
  • Server 2008 R2 SP1
  • Server 2008 SP2
  • Server 2003
3.5 2.0
  • AJAX-enabled websites.
  • LINQ.
  • Dynamic data.
  • 10
  • 8.1
  • 8
  • 7
  • Server 2008 R2 SP1
  • Server 2008 SP2
  • 10
  • 8.1
  • 8
  • 7
  • Vista
  • XP
  • Server 2008 R2 SP1
  • Server 2008 SP2
  • Server 2003
3.0 2.0
  • WPF, WCF, WF CardSpace.
  • Vista
  • Server 2008 R2 SP1
  • Server 2008 SP2
  • Server 2003
  • 7
  • Vista
  • XP
  • Server 2008 R2 SP1
  • Server 2008 SP2
  • Server 2003
2.0 2.0
  • Generics.
  • ASP.NET additions.
  • Server 2008 R2 SP1
  • Server 2008 SP2
  • Server 2003
  • XP
  • Server 2008 R2 SP1
  • Server 2008 SP2
  • Server 2003
1.1 1.1
  • ASP.NET and ADO.NET updates.
  • Side-by-side execution.
  • Server 2003
  • XP
  • Server 2003
1.0 1.0
  • First version of the .NET Framework.
  • XP

Key

  • CU = Creators Update, Version 1703 (Apr 2017)
  • AU = Anniversary Update, Version 1607 (Aug 2016)
  • NU = November Update, Version 1511 (Nov 2015)

Discontinued Windows releases

It is worth noting that extended support services such as security updates, patches, and non-security hotfixes for the following Windows versions have been/will soon be discontinued:

  • 10.1507 (May 9, 2017)
  • 8.0 (Jan 12, 2016)
  • 7 (Jan 14, 2020)
  • Vista SP2 (Apr 11, 2017)
  • XP SP3 (Apr 8, 2014)

  • Server 2003 (Jul 14, 2015)

More information on Windows end-of-life can be found on Microsoft's Windows Lifecycle Fact Sheet page.

Linux/macOS compatibility

Since Microsoft's announcement that they were going to open source the .NET Core framework, developers have been able to create software applications based on the .NET Framework on platforms outside the Windows ecosystem, including Linux, macOS, Android, and iOS. This would allow for more software to be written in the increasingly popular Visual C# language, as well as Visual Basic, and create a more formidable competitor to the already-popular and cross-platform Java platform.


But what about Microsoft Office? Or Media Player Classic - Home Cinema? Sumatra PDF? These are some examples of Windows applications that are not available for Linux or macOS, and would not be able to run natively on either platform. None of these apps run on Java, so users have limited options: use alternatives (LibreOffice, VLC, Evince); run the apps through a virtual machine (Windows in VirtualBox); or use a runtime layer such as Wine. Wine (and CrossOver) can be easily installed on Linux and macOS. Wine is available for free; CrossOver is paid with a free trial (click link for more information).


Since the mid-1990s, Linux and Mac developers have been working to produce compatibility layers that help "bridge the gap" and enable applications built for Windows to run on those platforms. The free and open-source Wine project and CodeWeavers' CrossOver project both fulfill these tasks.


Wine does include a compatibility layer for .NET applications; however, it is worth noting that Wine works best with Win32 (WinForms) applications and does not provide support for WPF, Windows Store, or UWP apps. Wine also doesn't work well with applications that use native DLL imports.