. NET (pronounced dot net) is a framework that provides a programming guidelines that can be used to develop a wide range of applications–––from web to mobile to Windows-based applications. … NET framework can work with several programming languages such as C#, VB.NET, C++ and F#

.NET Framework (pronounced as “dot net”) is a software framework developed by Microsoft that runs primarily on Microsoft Windows. It includes a large class library named as Framework Class Library (FCL) and provides language interoperability (each language can use code written in other languages) across several programming languages. Programs written for .NET Framework execute in a software environment (in contrast to a hardware environment) named the Common Language Runtime (CLR). The CLR is an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called “managed code“. FCL and CLR together constitute the .NET Framework.
FCL provides the user interface, data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications. Programmers produce software by combining their source code with .NET Framework and other libraries. The framework is intended to be used by most new applications created for the Windows platform. Microsoft also produces an integrated development environment for .NET software called Visual Studio.
.NET Framework began as proprietary software, although the firm worked to standardize the software stack almost immediately, even before its first release. Despite the standardization efforts, developers, mainly those in the free and open-source software communities, expressed their unease with the selected terms and the prospects of any free and open-source implementation, especially regarding software patents. Since then, Microsoft has changed .NET development to more closely follow a contemporary model of a community-developed software project, including issuing an update to its patent promising to address the concerns.
.NET Framework led to a family of .NET platforms targeting mobile computing, embedded devices, alternative operating systems, and web browser plug-ins. A reduced version of the framework, .NET Compact Framework, is available on Windows CE platforms, including Windows Mobile devices such as smartphones. .NET Micro Framework is targeted at very resource-constrained embedded devices. Silverlight was available as a web browser plugin. Mono is available for many operating systems and is customized into popular smartphone operating systems (Android and iOS) and game engines. .NET Core targets the Universal Windows Platform (UWP), and cross-platform and cloud computing workloads.
.NET Framework

.NET is a framework to develop software applications. It is designed and developed by Microsoft and the first beta version released in 2000.
It is used to develop applications for web, Windows, phone. Moreover, it provides a broad range of functionalities and support.
This framework contains a large number of class libraries known as Framework Class Library (FCL). The software programs written in .NET are executed in the execution environment, which is called CLR (Common Language Runtime). These are the core and essential parts of the .NET framework.
This framework provides various services like memory management, networking, security, memory management, and type-safety.
The .Net Framework supports more than 60 programming languages such as C#, F#, VB.NET, J#, VC++, JScript.NET, APL, COBOL, Perl, Oberon, ML, Pascal, Eiffel, Smalltalk, Python, Cobra, ADA, etc.
Following is the .NET framework Stack that shows the modules and components of the Framework.
The .NET Framework is composed of four main components:
- Common Language Runtime (CLR)
- Framework Class Library (FCL),
- Core Languages (WinForms, ASP.NET, and ADO.NET), and
- Other Modules (WCF, WPF, WF, Card Space, LINQ, Entity Framework, Parallel LINQ, Task Parallel Library, etc.)

CLR (Common Language Runtime)
It is a program execution engine that loads and executes the program. It converts the program into native code. It acts as an interface between the framework and operating system. It does exception handling, memory management, and garbage collection. Moreover, it provides security, type-safety, interoperability, and portablility. A list of CLR components are given below:

FCL (Framework Class Library)
It is a standard library that is a collection of thousands of classes and used to build an application. The BCL (Base Class Library) is the core of the FCL and provides basic functionalities.

WinForms
Windows Forms is a smart client technology for the .NET Framework, a set of managed libraries that simplify common application tasks such as reading and writing to the file system.
ASP.NET
ASP.NET is a web framework designed and developed by Microsoft. It is used to develop websites, web applications, and web services. It provides a fantastic integration of HTML, CSS, and JavaScript. It was first released in January 2002.
ADO.NET
ADO.NET is a module of .Net Framework, which is used to establish a connection between application and data sources. Data sources can be such as SQL Server and XML. ADO .NET consists of classes that can be used to connect, retrieve, insert, and delete data.
WPF (Windows Presentation Foundation)
Windows Presentation Foundation (WPF) is a graphical subsystem by Microsoft for rendering user interfaces in Windows-based applications. WPF, previously known as “Avalon”, was initially released as part of .NET Framework 3.0 in 2006. WPF uses DirectX.
WCF (Windows Communication Foundation)
It is a framework for building service-oriented applications. Using WCF, you can send data as asynchronous messages from one service endpoint to another.
WF (Workflow Foundation)
Windows Workflow Foundation (WF) is a Microsoft technology that provides an API, an in-process workflow engine, and a rehostable designer to implement long-running processes as workflows within .NET applications.
LINQ (Language Integrated Query)
It is a query language, introduced in .NET 3.5 framework. It is used to make the query for data sources with C# or Visual Basics programming languages.
Entity Framework
It is an ORM based open source framework which is used to work with a database using .NET objects. It eliminates a lot of developers effort to handle the database. It is Microsoft’s recommended technology to deal with the database.
Parallel LINQ
Parallel LINQ or PLINQ is a parallel implementation of LINQ to objects. It combines the simplicity and readability of LINQ and provides the power of parallel programming.
It can improve and provide fast speed to execute the LINQ query by using all available computer capabilities.
Apart from the above features and libraries, .NET includes other APIs and Model to improve and enhance the .NET framework.
In 2015, Task parallel and Task parallel libraries were added. In .NET 4.5, a task-based asynchronous model was added.
.NET Framework Index
.Net Framework
C#
- C# Tutorial
- What is C#
- C++ vs C#
- Java vs C#
- C# History
- C# Features
- C# Example
- C# Variables
- C# Data Types
- C# Operators
- C# Keywords
C# Control Statements
C# Functions
C# Arrays
- C# Arrays
- C# Array to Function
- C# Multidimensional Array
- C# Jagged Arrays
- C# Params
- C# Array class
- C# Command Line Args
C# Objects and Classes
- C# Object and Class
- C# Constructor
- C# Destructor
- C# this
- C# static
- C# static class
- C# static constructor
- C# Structs
- C# Enum
C# Properties
C# Inheritance
C# Polymorphism
C# Abstraction
C# Namespace
C# Strings
C# String Functions
- String Clone()
- String Compare()
- String CompareOrdinal()
- String CompareTo()
- String Concat()
- String Contains()
- String Copy()
- String CopyTo()
- String EndsWith()
- String Equals()
- String Format()
- String GetEnumerator()
- String GetHashCode()
- String GetType()
- String GetTypeCode()
- String IndexOf()
- String Insert()
- String Intern()
- String IsInterned()
- String IsNormalized()
- String Normalize()
- String IsNullOrEmpty()
- IsNullOrWhiteSpace()
- String Join()
- String LastIndexOf()
- String LastIndexOfAny()
- String PadLeft()
- String PadRight()
- String Remove()
- String Replace()
- String Split()
- String StartsWith()
- String SubString()
- String ToCharArray()
- String ToLower()
- String ToLowerInvariant()
- String ToString()
- String ToUpper()
- String ToUpperInvariant()
- String Trim()
- String TrimEnd()
- String TrimStart()
C# Exceptions
- C# Exception Handling
- C# try/catch
- C# finally
- C# Custom Exception
- C# checked unchecked
- C# SystemException
C# File I/O
- C# FileStream
- C# StreamWriter
- C# StreamReader
- C# TextWriter
- C# TextReader
- C# BinaryWriter
- C# BinaryReader
- C# StringWriter
- C# StringReader
- C# FileInfo
- C# DirectoryInfo
- C# Serialization
- C# Deserialization
- C# System.IO
C# Collections
- C# Collections
- C# List<T>
- C# HashSet<T>
- C# SortedSet<T>
- C# Stack<T>
- C# Queue<T>
- C# LinkedList<T>
- C# Dictionary<K,V>
- C# SortedDictionary<K,V>
- C# SortedList<K,V>
C# Generics
C# Delegates
C# Reflection
C# Anonymous Functions
C# Multithreading
- C# Multithreading
- C# Thread Life Cycle
- C# Thread class
- C# Main Thread
- C# Thread Example
- C# Thread Sleep
- C# Thread Abort
- C# Thread Join
- C# Thread Name
- C# ThreadPriority
C# Synchronization
C# New Features
C# 2.0
- Partial types
- Iterators
- Nullable types
- Delegate Covariance
- Delegate inference
- Static classes
- Method group conversions (delegates)
C# 3.0
- Anonymous types
- Extension methods
- Query expression
- Partial method
- Implicitly typed local variables
- Object and collection initializers
- Auto-Implemented properties
- Lambda expression
- Expression trees
C# 4.0
- Dynamic binding
- Named and optional arguments
- Generic co and contravariance
- Embedded interop types (“NoPIA”)
C# 5.0
C# 6.0
- Using static directive
- Exception filters
- Await in catch/finally blocks
- Auto property initializers
- Default values for getter-only properties
- Expression-bodied members
- Null propagator
- String interpolation
- Nameof operator
- Dictionary initializer
- Compiler-as-a-service (Roslyn)
C# 7.0
- Pattern matching
- Tuples
- Deconstruction
- Local functions
- Digit separator
- Binary literals
- Ref returns and locals
- Expression bodied constructors and finalizers
- Expression bodied getters and setters
- Out variables
- Generalized async return types
C# 7.1
C# Programs List
- C# Programs
- Fibonacci Series
- Prime Number
- Palindrome Number
- Factorial
- Armstrong Number
- Sum of digits
- Reverse Number
- Swap Number
- Decimal to Binary
- Number in Characters
- Alphabet Triangle
- Number Triangle
- Fibonacci Triangle
C# Interview Questions
ADO.NET Tutorial
- ADO.NET Tutorial
- ADO.NET Introduction
- ADO.NET Data Providers
- ADO.NET SQL Server
- ADO.NET Connection
- ADO.NET Command
- ADO.NET DataReader
- ADO.NET DataSet
- ADO.NET DataAdapter
- ADO.NET DataTables
- ADO.NET WF Example
- ADO.NET MVC Example
ADO.NET Interview Questions
ASP.NET Tutorial
ASP.NET Web Forms
- ASP.NET WF Introduction
- ASP.NET WF Features
- ASP.NET WF Project
- ASP.NET WF Example
- ASP.NET Server Controls
- ASP.NET Label
- ASP.NET TextBox
- ASP.NET Button
- ASP.NET HyperLink
- ASP.NET RadioButton
- ASP.NET Calender
- ASP.NET CheckBox
- ASP.NET LinkButton
- ASP.NET FileUpload
- Multiple FileUpload
- ASP.NET Download File
- ASP.NET Cookie
- ASP.NET Session
- ASP.NET DropDownList
- ASP.NET DataList
- ASP.NET DataGrid
- WF User Registration
- WF Events Handling
- WF Authentication
- WF Model Binding
- HTML Server Controls
ASP.NET Validation
ASP.NET MVC
- ASP.NET MVC
- MVC Project
- MVC Controller
- MVC Actions
- MVC Action Selectors
- MVC Action Filters
- MVC Model
- MVC Model Binding
- MVC View
- MVC Validation
- MVC Entity Framework
- MVC Authentication
- MVC Bootstrap
- MVC Routing
- MVC Scaffolding
- MVC ViewBag
ASP.NET Razor
- ASP.NET Razor
- Razor Code Expressions
- Razor Code Blocks
- Razor Control Structures
- Razor HTML Helpers
- Razor Partial Views
NET Common Language Runtime (CLR).NET CLR is a run-time environment that manages and executes the code written in any .NET programming language.It converts code into native code which further can be executed by the CPU..NET CLR FunctionsFollowing are the functions of the CLR.It converts the program into native code.Handles ExceptionsProvides type-safetyMemory managementProvides securityImproved performanceLanguage independentPlatform independentGarbage collectionProvides language features such as inheritance, interfaces, and overloading for object-oriented programmings..NET CLR VersionsThe CLR updates itself time to time to provide better performance..NET versionCLR version1.01.01.11.12.02.03.02.03.52.0444.544.644.64.NET CLR StructureFollowing is the component structure of Common Language Runtime.![]() Base Class Library SupportIt is a class library that provides support of classes to the .NET application.Thread SupportIt manages the parallel execution of the multi-threaded application.COM MarshalerIt provides communication between the COM objects and the application.Type CheckerIt checks types used in the application and verifies that they match to the standards provided by the CLR.Code ManagerIt manages code at execution run-time.Garbage CollectorIt releases the unused memory and allocates it to a new application.Exception HandlerIt handles the exception at runtime to avoid application failure.ClassLoaderIt is used to load all classes at run time. |
.NET Framework Class Library
.NET Framework Class Library is the collection of classes, namespaces, interfaces and value types that are used for .NET applications.
It contains thousands of classes that supports the following functions.
- Base and user-defined data types
- Support for exceptions handling
- input/output and stream operations
- Communications with the underlying system
- Access to data
- Ability to create Windows-based GUI applications
- Ability to create web-client and server applications
- Support for creating web services
.NET Framework Class Library Namespaces
Following are the commonly used namespaces that contains useful classes and interfaces and defined in Framework Class Library.
Namespaces | Description |
---|---|
System | It includes all common datatypes, string values, arrays and methods for data conversion. |
System.Data, System.Data.Common, System.Data.OleDb, System.Data.SqlClient, System.Data.SqlTypes | These are used to access a database, perform commands on a database and retrieve database. |
System.IO, System.DirectoryServices, System.IO.IsolatedStorage | These are used to access, read and write files. |
System.Diagnostics | It is used to debug and trace the execution of an application. |
System.Net, System.Net.Sockets | These are used to communicate over the Internet when creating peer-to-peer applications. |
System.Windows.Forms, System.Windows.Forms.Design | These namespaces are used to create Windows-based applications using Windows user interface components. |
System.Web, System.WebCaching, System.Web.UI, System.Web.UI.Design, System.Web.UI.WebControls, System.Web.UI.HtmlControls, System.Web.Configuration, System.Web.Hosting, System.Web.Mail, System.Web.SessionState | These are used to create ASP. NET Web applications that run over the web. |
System.Web.Services, System.Web.Services.Description, System.Web.Services.Configuration, System.Web.Services.Discovery, System.Web.Services.Protocols | These are used to create XML Web services and components that can be published over the web. |
System.Security, System.Security.Permissions, System.Security.Policy, System.WebSecurity, System.Security.Cryptography | These are used for authentication, authorization, and encryption purpose. |
System.Xml, System.Xml.Schema, System.Xml.Serialization, System.Xml.XPath, System.Xml.Xsl | These namespaces are used to create and access XML files. |
.NET Framework Base Class Library
.NET Base Class Library is the sub part of the Framework that provides library support to Common Language Runtime to work properly. It includes the System namespace and core types of the .NET framework.
