In this article, I’m explaining .NET Framework concept.
The Microsoft .NET Framework is a software framework developed by Microsoft that developers can use to create applications more easily. It is the collection of large library and provides language Interoperability (each language can utilize code written in other languages) across programming languages. In .NET Framework, CLR (Common Language Runtime) provide software environment (as disproportionate to hardware environment) for programs, an application virtual machine that provides services such as memory management, exception handling and security. The class library and the CLR together build up .NET Framework.
The .NET Framework class Library provides
· User Interface
· Data access
· Database connectivity
· Web application development
· Numeric algorithm
· Network communication
History of .NET Framework.
.NET Framework started development by Microsoft in the late 1990’s, radically under the name of Next Generation Windows Services (NGWS). The first beta versions of .NET 1.0 were released at late 2000.
.NET Framework Version 3.0 is associated with Windows Server 2008 and Windows Vista. Version of .NET Framework 3.5 is associated with Windows 7 andWindows Server 2008 R2, and can also be installed on Windows XP and Windows Server 2003.Version of .NET Framework 4.5 is associated with Windows 8.1, 8, Windows 7 SP1 and Windows Vista SP2.
Version of .Net
Introduced with IDE
Visual Studio 2013
1. Includes Performance and debugging improvements
2. Support for automatic binding redirection
3. Expanded Support for Windows app
Visual Studio 2012
1. Features Enhancements to CLR 4.0
2. Async Support
3. Support for building Windows Store apps
4. Features Enhancement to WPF, WCF, WF, and ASP.NET
Visual Studio 2010
1. Introduced CLR 4.0
2. Managed Extensibility Framework (MEF)
3. Managed Extensibility Framework (MEF)
4. Task Parallel Library
Visual Studio 2008
1. Built-In AJAX Support
3. Dynamic Data
4. Multi-targeting Framework Support
Visual Studio 2005
1. Windows Presentation Foundation (WPF)
2. Windows Communications Foundation (WCF)
3. Windows Workflow Foundation (WF), and CardSpace
Visual Studio 2005
1. Introduced CLR 2.0
2. Generics and generic collections
3. Partial classes
4. Nullable types
5. Anonymous methods
6. Introduced many new controls and features to ASP.NET
Visual Studio .NET 2003
1. Features Enhancement to ASP.NET and ADO.NET
2. Built-in support for mobile ASP.NET controls
3. Security Enhancement
4. Built-in support for ODBC and databases
5. Internet Protocol version 6 (IPv6) support
Visual Studio .NET
1. Introduced CLR 1.0
2. Support for Object-oriented Web application development
3. Use of DLL class libraries
Common Language Runtime (CLR)
Common Language Runtime is the Heart of .NET Framework. The Common Language Runtime (CLR) is a core runtime environment of .NET Framework for executing applications. All the .NET execute under the oversight of the CLR, guaranteeing for memory management, type safety and exception handling. It provides exception handling, garbage collection and thread management. CLR is common to all versions of the .NET framework.
Common Language Infrastructure (CLI)
Common Language Infrastructure (CLI) is developed by Microsoft and standardized by ISO and ECMA. Common Language Infrastructure (CLI) is an open specification for running high-level language program applications in different computer systems without changing the application code. Because of this feature, the .NET Framework supports the exchange of types and object instances between libraries and applications written using any conforming .NET language.
Common Type System (CTS)
The Common Type System defines how types are declared definitions and specific values of types are represented in computer memory. CTS are responsible for type safety and cross language Integration (Means you can have a dll which is written in Vb.Net and to be used in C# application). The Common Type System supports two general categories of type: Value Types, Reference Types.
In the .Net Framework, Just-in-time-compilation is compilation done during the execution of a program at run time rather than prior of execution. Most often this exists to translation to Machine code, which is executed directly but it can also refer to translation to another format. In the .NET Framework, JIT compilation is the combination of the two conventional approaches to translation to machine code – ahead of time compilation (AOT), and interpretation. JIT compilation combines the speed of compiled code with the flexibility of interpretation, with the overhead of an interpreter and the additional overhead of compiling (not just interpreting). Before a computer can execute the source code, special programs called compilers must rewrite it into machine instructions, also known as object code. This process (commonly referred to simply as “compilation”) can be done explicitly or implicitly.
Microsoft intermediate language (MSIL)
In the .NET Framework, it must be compiled against the common language runtime to native code for the target machine architecture. As a programmer one need not worry about the syntax of MSIL - since our source code in automatically converted to MSIL. The MSIL code is then send to the CLR (Common Language Runtime) that converts the code to machine language, which is, then run on the host machine. MSIL is the CPU-independent instruction set into which .NET Framework programs are compiled. It contains instructions for loading, storing, initializing, and calling methods on objects.