Microsoft .NET Framework is an integral part of Windows operating system and it is used for developing applications that runs on family of Windows operating system. The .NET Framework has two major components called Common Language Runtime and .NET Base Class Library. .NET Framework support an array of language, VB.C#, F#, C++ and J# are supported by Visual Studio’s default installation.
Features of .NET Framework
Interoperability : Sometimes application developed in .NET has to interact with applications developed outside .NET. Access to COM components is provided in the System.Runtime.InteropServices and System.EnterpriseServices namespaces of the framework; access to other functionality is provided using the P/Invoke feature.
Common Runtime Engine : The Common Language Runtime (CLR) is the execution engine of the .NET Framework. Its CLR responsibility to locate, load and manage .NET types on your behalf. The CLR also takes care of a number of low-level details such as memory management, application hosting, handling threads, and performing various security checks.
Common Type System : The CTS specification fully describes all possible data types and programming constructs supported by the runtime, specifies how these entities can interact with each other, and details how they are represented in the .NET metadata format. Common Type System makes .NET Framework language independent means, class libraries developed in one language can be used applications that are developed in some other language.
Base Class Library : The Base Class Library (BCL), part of the Framework Class Library (FCL), is a library of functionality available to all languages using the .NET Framework. The BCL provides classes which encapsulate a number of common functions, including file reading and writing, graphic rendering, database interaction, XML document manipulation and so on.
Simplified Deployment Model : .NET Framework provides a simplified deployment. Applications developed using .NET Framework are not required to register them as binary unit into system registry. Further more .NET Framework allows multiple versions of the same *.dll to exist in harmony on a single machine.