The Microsoft .NET Framework is a software technology that provides a new programming interface to Windows services and APIs, and an amazing convergence of many technologies. The Microsoft .NET Framework is a set of languages, including C#, J#, and VB.NET; a set of development tools, including Visual Studio .NET; a comprehensive class library for building web services and web and Windows applications; as well as the Common Language Runtime (CLR).It also includes the Base Class Libraries (BCL), offering ways to utilize Collections, I/O, networking, among others. A complex stack of libraries is built on top of the BCL, including technologies like ADO.NET for database access, XML APIs to manipulate XML data, and Windows Forms to display rich user interfaces (UIs). These components collectively form the largest part of the Microsoft .NET Framework.
The .NET Framework is factored into several components. The Common Language Runtime (CLR) is the virtual execution environment(sometimes called a virtual machine) that is responsible for executing managed code. Managed code is any code written in a high-level language such as C#, Visual Basic, C++/CLI, IronPython, and the like, which is compiled into the CLR’s binary format, an assembly, and which represents its executable portion using Intermediate Language (IL). Assemblies contain self-descriptive program metadata and instructions that conform to the CLR’s type system specification. The CLR then takes this metadata and IL, and compiles it into executable code. This code contains hooks into CLR services and Win32, and ultimately ends up as the native instruction set for the machine being run on. This happens through a process called just-in-time (JIT) compilation. The result of that can finally be run.