Microsoft started development on the .NET Framework in the late 1990s originally under the name of Next Generation Windows Services (NGWS). By late 2001 the first beta versions of .NET Framework 1.0 were released.[1] The first version of .NET Framework was released on 13 February 2002, bringing managed code to Windows NT 4.0, 98, 2000, ME and XP.
Since the first version, Microsoft has released nine more upgrades for .NET Framework, seven of which have been released along with a new version of Visual Studio. Two of these upgrades, .NET Framework 2.0 and 4.0, have upgraded Common Language Runtime (CLR). New versions of .NET Framework replace older versions when the CLR version is the same.
.NET Framework 4.8 was announced as the last major version of .NET Framework, with future work going into the rewritten and cross-platform.NET Core platform (later, simply .NET), which shipped as .NET 5 in November 2020.[2][3] However, .NET Framework 4.8.1 was released in August 2022.[4]
Overview
Overview of .NET Framework release history[5][6][7][8]
a.^ .NET Framework 1.0 is an integral component of Windows XP Media Center Edition and Windows XP Tablet PC Edition. Installation CDs for the Home edition and the Professional edition of Windows XP SP1, SP2 or SP3 come with .NET Framework 1.0 installation packages.[7]
b.^ Installation CDs for the Home edition and the Professional edition of Windows XP SP2 and SP3 come with .NET Framework 1.1 installation packages.[7]
c.^ .NET Framework is not automatically installed with this operating system. It must be installed either from a Windows installation media or from the Internet on demand. Control Panel or Server Manager always attempts the latter.[34]
d.^ This date applies only when running on Windows 10 version 1809, Windows Server 2019 or later. On older versions of Windows, .NET Framework 3.5 Service Pack 1 adopts the lifecycle of the underlying Windows operating system.[10]
The first version of the .NET Framework was released on 15 January 2002 for Windows 98, ME, NT 4.0, 2000, and XP. Mainstream support for this version ended on 10 July 2007, and extended support ended on 14 July 2009, with the exception of Windows XP Media Center and Tablet PC editions.[10]
On 19 June 2001, the tenth anniversary of the release of Visual Basic, .NET Framework 1.0 Beta 2 was released.[35]
.NET Framework 1.0 is supported on Windows 98, ME, NT 4.0 (with Service Pack 6a), 2000, XP, and Server 2003. Applications utilizing .NET Framework 1.0 will also run on computers with .NET Framework 1.1 installed, which supports additional operating systems.[36]
Service Pack 1
The .NET Framework 1.0 Service Pack 1 was released on 19 March 2002.[37]
Service Pack 2
.NET Framework 1.0 Service Pack 2 was released on 7 August 2002.[38]
Service Pack 3
.NET Framework 1.0 Service Pack 3 was released on 30 August 2004.[39]
.NET Framework 1.1
Version 1.1 is the first minor .NET Framework upgrade. It is available on its own as a redistributable package or in a software development kit, and was published on 3 April 2003. It is also part of the second release of Visual Studio .NET 2003. This is the first version of the .NET Framework to be included as part of the Windows operating system, shipping with Windows Server 2003. Mainstream support for .NET Framework 1.1 ended on 14 October 2008, and extended support ended on 8 October 2013. .NET Framework 1.1 provides full backward compatibility to version 1.0, except in rare instances where an application will not run because it checks the version number of a library.[40]
A new hosting API for native applications wishing to host an instance of the .NET runtime: The new API gives a fine grain control on the behavior of the runtime with regards to multithreading, memory allocation and assembly loading. It was initially developed to efficiently host the runtime in Microsoft SQL Server, which implements its own scheduler and memory manager.
New personalization features for ASP.NET, such as support for themes, skins, master pages and webparts
Language support for generics built directly into the .NET CLR
.NET Framework 2.0 is supported on Windows 98, ME, 2000 (with Service Pack 3 or higher), XP (with Service Pack 2 or higher), Server 2003, Server 2008 and Server 2008 R2.[6] Applications utilizing .NET Framework 2.0 will also run on computers with .NET Framework 3.0 or 3.5 installed, which supports additional operating systems.
Service Pack 1
The .NET Framework 2.0 Service Pack 1 was released on 19 November 2007.[46] It requires Windows 2000 with SP4.
Service Pack 2
The .NET Framework 2.0 Service Pack 2 was released on 11 August 2008.[47] It requires Windows 2000 with SP4 plus KB835732 or KB891861 update, Windows XP with SP2 plus Windows Installer 3.1. It is the last version to support Windows 2000 SP4 although there have been some unofficial workarounds to use a subset of the functionality from Version 3.5 in Windows 2000.[48]
.NET Framework 3.0
Elements of the Microsoft .NET Framework version 3.0
.NET Framework 3.0, formerly called WinFX,[49] was released on 6 November 2006. It includes a new set of managed code APIs that are an integral part of Windows Vista and Windows Server 2008. It is also available for Windows XP SP2 and Windows Server 2003 as a download. There are no major architectural changes included with this release; .NET Framework 3.0 uses the same CLR as .NET Framework 2.0.[50] Unlike the previous major .NET releases there was no .NET Compact Framework release made as a counterpart of this version. Version 3.0 of the .NET Framework shipped with Windows Vista. It also shipped with Windows Server 2008 as an optional component (disabled by default).
.NET Framework 3.0 consists of four major new components:
Windows Communication Foundation (WCF), formerly code-named Indigo: A service-oriented messaging system which allows programs to interoperate locally or remotely similar to web services
Windows CardSpace, formerly code-named InfoCard: A software component which securely stores a person's digital identities and provides a unified interface for choosing the identity for a particular transaction, such as logging into a website
.NET Framework 3.0 is supported on Windows XP, Server 2003, Vista, Server 2008, and Server 2008 R2.[6] Applications utilizing .NET Framework 3.0 will also run on computers with .NET Framework 3.5 installed, which supports additional operating systems.
Service Pack 1
.NET Framework 3.0 Service Pack 1 was released on 19 November 2007.[52]
Service Pack 2
.NET Framework 3.0 Service Pack 2 was released on 11 August 2008.[53]
.NET Framework 3.5
Version 3.5 of the .NET Framework was released on 19 November 2007. As with .NET Framework 3.0, version 3.5 uses Common Language Runtime (CLR) 2.0, that is, the same version as .NET Framework version 2.0. In addition, .NET Framework 3.5 also installs .NET Framework 2.0 SP1 and 3.0 SP1 (with the later 3.5 SP1 instead installing 2.0 SP2 and 3.0 SP2), which adds some methods and properties to the BCL classes in version 2.0 which are required for version 3.5 features such as Language Integrated Query (LINQ). These changes do not affect applications written for version 2.0, however.[54]
As with previous versions, a new .NET Compact Framework 3.5 was released in tandem with this update in order to provide support for additional features on Windows Mobile and Windows Embedded CE devices.
.NET Framework 3.5 is also available as a Windows Container image, allowing old applications that rely on .NET Framework 2.0–3.5 to run in a container environment.[56]
Service Pack 1
The .NET Framework 3.5 Service Pack 1 was released on 11 August 2008. This release adds new functionality and provides performance improvements under certain conditions,[57] especially with WPF where 20–45% improvements are expected. Two new data service components have been added, the ADO.NET Entity Framework and ADO.NET Data Services. Two new assemblies for web development, System.Web.Abstraction and System.Web.Routing, have been added; these are used in the ASP.NET MVC framework and, reportedly, will be used in the future release of ASP.NET Forms applications. Service Pack 1 is included with SQL Server 2008 and Visual Studio 2008 Service Pack 1. It also featured a new set of controls called "Visual Basic Power Packs" which brought back Visual Basic controls such as "Line" and "Shape." Version 3.5 SP1 of the .NET Framework shipped with Windows 7. It also shipped with Windows Server 2008 R2 as an optional component (disabled by default). It is the last version to support Windows XP SP2, Windows Server 2003 SP1 and Windows Vista RTM.
.NET Framework 3.5 SP1 Client Profile
For the .NET Framework 3.5 SP1 there is also a new variant of the .NET Framework, called the ".NET Framework Client Profile", which at 28 MB is significantly smaller than the full framework and only installs components that are the most relevant to desktop applications.[58] However, the Client Profile amounts to this size only if using the online installer on Windows XP SP2 when no other .NET Frameworks are installed or using Windows Update. When using the off-line installer or any other OS, the download size is still 250 MB.[59]
.NET Framework 4.0 is supported on Windows XP (with Service Pack 3), Windows Server 2003 (with Service Pack 2), Vista (with Service Pack 1 or higher), Server 2008, 7 and Server 2008 R2.[6] Applications utilizing .NET Framework 4.0 will also run on computers with .NET Framework 4.5 or 4.6 installed, which supports additional operating systems. Support for .NET Framework 4.0 ended on 12 April 2016 and is no longer providing technical support, bug fixes, or security fixes for .NET Framework 4.0 vulnerabilities which may be subsequently reported or discovered. It is the last version to support Windows XP SP3, Windows Server 2003 SP2, Windows Vista SP1, Windows Server 2008 RTM, Windows 7 RTM and Windows Server 2008 R2 RTM.
History
Microsoft announced the intention to ship .NET Framework 4 on 29 September 2008. The Public Beta was released on 20 May 2009.[66]
On 28 July 2009, a second release of the .NET Framework 4 beta was made available with experimental software transactional memory support.[67] This functionality is not available in the final version of the framework.
On 19 October 2009, Microsoft released Beta 2 of the .NET Framework 4.[68] At the same time, Microsoft announced the expected launch date for .NET Framework 4 as 22 March 2010.[68] This launch date was subsequently delayed to 12 April 2010.[69]
On 12 April 2010, the final version of .NET Framework 4.0 was launched alongside the final release of Microsoft Visual Studio 2010.[71]
On 18 April 2011, version 4.0.1 was released supporting some customer-demanded fixes for Windows Workflow Foundation.[72][73] Its design-time component, which requires Visual Studio 2010 SP1, adds a workflow state machine designer.
On 5 March 2012, version 4.0.3 was released.[76][77]
Windows Server AppFabric
After the release of the .NET Framework 4, Microsoft released a set of enhancements, named Windows Server AppFabric,[78] for application server capabilities in the form of AppFabric Hosting[79][80] and in-memory distributed caching support.
.NET Framework 4.5
.NET Framework 4.5 was released on 15 August 2012;[81] a set of new or improved features were added into this version.[82] NET Framework 4.5 is supported on Windows Vista or later.[83][84] The .NET Framework 4.5 uses Common Language Runtime 4.0, with some additional runtime features.[85]
.NET Framework 4.5 is supported on Windows Vista (with Service Pack 2), Server 2008 (with Service Pack 2), 7 (with Service Pack 1), Server 2008 R2 (with Service Pack 1), 8, Server 2012, 8.1 and Server 2012 R2.[6] Applications utilizing .NET Framework 4.5 will also run on computers with .NET Framework 4.6 installed, which supports additional operating systems.
.NET for Metro-style apps
Metro-style apps were originally designed for specific form factors and leverage the power of the Windows operating system. Two subset of the .NET Framework is available for building Metro-style apps using C# or Visual Basic: One for Windows 8 and Windows 8.1, called .NET APIs for Windows 8.x Store apps. Another for Universal Windows Platform (UWP), called .NET APIs for UWP. This version of .NET Framework, as well as the runtime and libraries used for Metro-style apps, is a part of Windows Runtime, the new platform and development model for Metro-style apps. It is an ecosystem that houses many platforms and languages, including .NET Framework, C++ and HTML5 with JavaScript.[86]
Core features
Ability to limit how long the regular expression engine will attempt to resolve a regular expression before it times out.
Support for versioning of cultural string ordering and comparison data.
Better performance when retrieving resources.
Native support for Zip compression (previous versions supported the compression algorithm, but not the archive format).
Ability to customize a reflection context to override default reflection behavior through the CustomReflectionContext class.
New asynchronous features were added to the C# and Visual Basic languages. These features add a task-based model for performing asynchronous operations,[87][88] implementing futures and promises.
The Managed Extensibility Framework or MEF is a library for creating lightweight, extensible applications. It allows application developers to discover and use extensions with no configuration required. It also lets extension developers easily encapsulate code and avoid fragile hard dependencies. MEF not only allows extensions to be reused within applications, but across applications as well.[89]
Support for model binders in Web Forms. These let you bind data controls directly to data-access methods, and automatically convert user input to and from .NET Frameworkdata types.
Support for unobtrusive JavaScript in client-side validation scripts.
Improved handling of client script through bundling and minification for improved page performance.
Integrated encoding routines from the Anti-XSS library (previously an external library) to protect from cross-site scripting attacks.
The release of .NET Framework 4.5.1 was announced on 17 October 2013 along Visual Studio 2013.[90] This version requires Windows Vista SP2 and later[91] and is included with Windows 8.1 and Windows Server 2012 R2. New features of .NET Framework 4.5.1:[92]
Debugger support for X64 edit and continue (EnC)
Debugger support for seeing managed return values
Async-aware debugging in the Call Stack and Tasks windows
Debugger support for analyzing .NET memory dumps (in the Visual Studio Ultimate SKU)
Tools for .NET developers in the Performance and Diagnostics hub
Code Analysis UI improvements
ADO.NET idle connection resiliency
.NET Framework 4.5.2
The release of .NET Framework 4.5.2 was announced on 5 May 2014.[93] This version requires Windows Vista SP2 and later.[94] For Windows Forms applications, improvements were made for high DPI scenarios. For ASP.NET, higher reliability HTTP header inspection and modification methods are available as is a new way to schedule background asynchronous worker tasks.[93]
.NET Framework 4.6
.NET Framework 4.6 was announced on 12 November 2014.[95] It was released on 20 July 2015.[96] It supports a new just-in-time compiler (JIT) for 64-bit systems called RyuJIT, which features higher performance and support for SSE2 and AVX2 instruction sets. WPF and Windows Forms both have received updates for high DPI scenarios. Support for TLS 1.1 and TLS 1.2 has been added to WCF.[96] This version requires Windows Vista SP2 or later.[97] It is the last version to support Windows Vista SP2 and Windows Server 2008 SP2.
The release of .NET Framework 4.6.1 was announced on 30 November 2015.[99] This version requires Windows 7 SP1 or later and is also the last version to support Windows 8.[97] New features and APIs include:
WPF improvements for spell check, support for per-user custom dictionaries and improved touch performance.
Enhanced support for Elliptic Curve Digital Signature Algorithm (ECDSA) X509 certificates.
Added support in SQL Connectivity for AlwaysOn, Always Encrypted and improved connection open resiliency when connecting to Azure SQL Database.
Azure SQL Database now supports distributed transactions using the updated System.Transactions APIs .
Many other performance, stability, and reliability related fixes in RyuJIT, GC, WPF and WCF.
.NET Framework 4.6.2
The preview of .NET Framework 4.6.2 was announced on 30 March 2016.[100] It was released on 2 August 2016.[101] This version requires Windows 7 SP1 or later and is also the last version to support Windows 10 (RTM—1511).[97] New features include:
Support for localization of data annotations in ASP.NET
Enabling .NET desktop apps with Project Centennial
Soft keyboard and per-monitor DPI support for WPF
.NET Framework 4.6.2 is also shipped as Windows container image.
.NET Framework 4.7
On 5 April 2017, Microsoft announced that .NET Framework 4.7 was integrated into Windows 10 Creators Update, promising a standalone installer for other Windows versions. An update for Visual Studio 2017 was released on this date to add support for targeting .NET Framework 4.7.[102] The promised standalone installer for Windows 7 and later was released on 2 May 2017,[103] but it had prerequisites not included with the package.[104] NET Framework 4.7 dropped support for Windows 8 and will only run on Windows 7 Service Pack 1 and later.
.NET Framework 4.7 is also shipped as a Windows container image.
.NET Framework 4.7.1
.NET Framework 4.7.1 was released on 17 October 2017.[106] Amongst the fixes and new features, it corrects a d3dcompiler dependency issue.[107] It also adds compatibility with the .NET Standard 2.0 out of the box.[108]
.NET Framework 4.7.1 is also shipped as a Windows container image.
.NET Framework 4.7.2
.NET Framework 4.7.2 was released on 30 April 2018.[109] Amongst the changes are improvements to ASP.NET, BCL, CLR, ClickOnce, Networking, SQL, WCF, Windows Forms, Workflow and WPF.[110] This version is included with Server 2019.[6]
.NET Framework 4.7.2 is also shipped as a Windows container image.
The most-recent release is 4.8.0 Build 4115, with an offline installer size of 115 MB (121,307,088 bytes) and a digital signature date of May 1, 2021.
.NET Framework 4.8.1
.NET Framework 4.8.1 was released on 9 August 2022.[4] This version includes the native ARM64 support, WCAG2.1 compliant accessible tooltips, and accessibility improvements for Windows Forms. It is supported on Windows 10 (20H2–22H2), Windows Server 2022 and Windows 11.
The most-recent release is 4.8.1 Build 9195, with an offline installer size of 74 MB (77,668,504 bytes) and a digital signature date of September 28, 2023.
^ ab"1.1 SP1, 1.0 SP3 released". Eric Gunnerson's Compendium. Microsoft. 30 August 2004. Archived from the original on 7 March 2020. Retrieved 18 January 2020.
^Justin Van Patten (21 May 2008). ".NET Framework Client Profile". BCL Team Blog. MSDN Blogs. Archived from the original on 7 December 2008. Retrieved 30 September 2008.
^ abcLander, Rich (20 July 2015). "Announcing .NET Framework 4.6". .NET Blog. Microsoft. Archived from the original on 8 October 2021. Retrieved 20 July 2015. The team is updating the System.Security.Cryptography APIs to support the Windows CNG cryptography APIs [...] since it supports modern cryptography algorithms [Suite B Support], which are important for certain categories of apps.