.NET
.NET (pronounced as "dot net"; previously named .NET Core) is a free and open-source, managed computer software framework for Windows, Linux, and macOS operating systems. It is a cross-platform successor to .NET Framework. The project is primarily developed by Microsoft employees by way of the .NET Foundation, and released under the MIT License.

History
On November 12, 2014, Microsoft announced .NET Core, in an effort to include cross-platform support for .NET, including Linux and macOS, source for the .NET Core CoreCLR implementation, source for the "entire [...] library stack" for .NET Core, and the adoption of a conventional ("bazaar"-like) open-source development model under the stewardship of the .NET Foundation. Miguel de Icaza describes .NET Core as a "redesigned version of .NET that is based on the simplified version of the class libraries", and Microsoft's Immo Landwerth explained that .NET Core would be "the foundation of all future .NET platforms". At the time of the announcement, the initial release of the .NET Core project had been seeded with a subset of the libraries' source code and coincided with the relicensing of Microsoft's existing .NET reference source away from the restrictions of the Ms-RSL. Landwerth acknowledged the disadvantages of the formerly selected shared license, explaining that it made codename Rotor "a non-starter" as a community-developed open source project because it did not meet the criteria of an Open Source Initiative (OSI) approved license.

 1.0 was released on June 27, 2016, along with Microsoft Visual Studio 2015 Update 3, which enables .NET Core development.  1.0.4 and .NET Core 1.1.1 were released along with .NET Core Tools 1.0 and Visual Studio 2017 on March 7, 2017.

.NET Core 2.0 was released on August 14, 2017, along with Visual Studio 2017 15.3, ASP.NET Core 2.0, and Entity Framework Core 2.0.  2.1 was released on May 30, 2018. NET Core 2.2 was released on December 4, 2018.

.NET Core 3 was released on September 23, 2019. .NET Core 3 adds support for Windows desktop application development and significant performance improvements throughout the base library.

In November 2020, Microsoft released .NET 5.0, which replaced .NET Framework. The "Core" branding was removed and version 4.0 was skipped to avoid conflation with .NET Framework. It addresses the patent concerns related to the .NET Framework.

In November 2021, Microsoft released .NET 6.0.

.NET Core 2.1 and later, i.e. including .NET 5, support Alpine Linux (Alpine primarily supports and uses musl libc).

As of .NET 5, Windows Arm64 is natively supported. Previously, .NET on ARM was applications compiled for the x86 architecture, thereby meaning the applications were using the ARM emulation layer.

Language support

.NET fully supports C# and F# (and C++/CLI as of 3.1; only enabled on Windows) and supports Visual Basic .NET (for version 15.5 in .NET Core 5.0.100-preview.4, and some old versions supported in old .NET Core).

VB.NET compiles and runs on .NET, but as of .NET Core 3.1, the separate Visual Basic Runtime is not implemented. Microsoft initially announced that .NET Core 3 would include the Visual Basic Runtime, but after two years the timeline for such support was updated to .NET 5.

Architecture
.NET supports four cross-platform scenarios: ASP.NET Core web apps; command-line/console apps; libraries; and Universal Windows Platform apps. Prior to .NET Core 3.0, it did not implement Windows Forms or Windows Presentation Foundation (WPF), which render the standard GUI for desktop software on Windows. Now, however, .NET Core 3 supports desktop technologies Windows Forms, WPF, and Universal Windows Platform (UWP). It is also possible to write cross-platform graphical applications using .NET with the GTK# language-binding for the GTK widget toolkit.

.NET supports use of NuGet packages. Unlike .NET Framework, which is serviced using Windows Update, .NET relies on its package manager to receive updates. Starting in December 2020, however, .NET updates started being delivered via Windows Update as well.

The two main components of .NET are CoreCLR and CoreFX, which are comparable to the Common Language Runtime (CLR) and the Framework Class Library (FCL) of the .NET Framework's Common Language Infrastructure (CLI) implementation. 

As a CLI implementation of Virtual Execution System (VES), CoreCLR is a complete runtime and virtual machine for managed execution of CLI programs and includes a just-in-time compiler called RyuJIT.  also contains CoreRT, the  runtime optimized to be integrated into AOT compiled native binaries. 

As a CLI implementation of the foundational Standard Libraries, CoreFX shares a subset of  APIs, however, it also comes with its own APIs that are not part of the . A variant of the .NET library is used for UWP.

The .NET command-line interface offers an execution entry point for operating systems and provides developer services like compilation and package management.

Mascot

The official community mascot of .NET is the .NET Bot (stylized as "dotnet bot" or "dotnet-bot"). The dotnet bot served as the placeholder developer for the initial check-in of the .NET source code when it was open-sourced. It has since been used as the official mascot.

Notes

References

Further reading

External links

 
 Overview of .NET Framework (MSDN)
 .NET GitHub repository

.NET implementations
Cross-platform software
Microsoft application programming interfaces
Microsoft development tools
Microsoft free software
Software using the MIT license
2016 software