.NET Framework Architecture and Components
In this article, I am going to discuss .NET Framework Architecture and Components in detail. Please read our previous article where we give a brief introduction to .NET Framework. At the end of this article, you will understand what is .NET Framework, .Net Framework Architecture, .NET Components, and .NET Framework Design Principle are.
.Net Framework Architecture
The two major components of the .NET Framework are the Common Language Runtime and the .NET Framework Class Library.
- CLR: The Common Language Runtime (CLR) is the execution engine that handles running applications. It provides services like thread management, garbage collection, type safety, exception handling, and more.
- BCL: The Base Class Library provides a set of APIs and types for common functionality. It provides types for strings, dates, numbers, etc. The Class Library includes APIs for reading and writing files, connecting to databases, drawing, and more.
The .NET applications are written in C#, F#, or VB programming languages. The Source Code is compiled into an intermediate language code called IL or MSIL or CIL (Common Intermediate Language). And the Compiled code is stored in assemblies with .DLL or .EXE file extension.
When an application runs, the CLR takes the Assembly (IL Code or MSIL Code, or CIL) and uses the Just-in-Time compiler (JIT) to convert the MSIL or IL code into machine code that can execute on the specific architecture of the computer it is running on.
.NET Framework FAQ:
What is .NET Framework used for?
.NET Framework is used to create and run software applications. .NET apps can run on many operating systems, using different implementations of .NET (.NET Framework, .NET Core or .NET, and Xamarin/Mono). The .NET Framework is used for running .NET apps on Windows, The .NET Core or .NET is used for running .NET Apps on Windows, Linux, and macOS. And Xamarin/Mono is used for running apps on all the major mobile operating systems, including iOS and Android.
Who uses .NET Framework?
Software developers and the users of their applications both use .NET Framework:
- Users of applications built with the .NET Framework need to have .NET Framework installed. In most cases, .NET Framework is already installed with Windows. If needed, you can download .NET Framework.
- Software developers use .NET Framework to build many different types of applications such as websites, services, desktop apps, and more with Visual Studio. Visual Studio is an integrated development environment (IDE) that provides development productivity tools and debugging capabilities.
Why do I need .NET Framework?
You need .NET Framework installed on your machine to run applications on Windows that were created using .NET Framework. It is already included in many versions of Windows. You only need to download and install .NET Framework if prompted to do so.
How does .NET Framework work?
.NET Framework applications are developed using C#, F#, or VB Programming Language and compiled into Common Intermediate Language (CIL) or MSIL (Microsoft Intermediate Language). The Common Language Runtime (CLR) runs .NET applications on a given machine, converting the CIL code or MSIL code to machine code that the corresponding machine can execute.
What are the main Components/Features of the .NET Framework?
The two major components of the .NET Framework are the Common Language Runtime (CLR) and the .NET Framework Class Library. The CLR is the execution engine that handles running applications. The Base Class Library provides a set of APIs and types for common functionality.
What is the difference between .NET and .NET Framework?
.NET and .NET Framework share many of the same components and you can share code across the two. Some of the key differences between them are as follows:
- .NET is Cross-Platform and runs on Linux, macOS, and Windows OS. .NET Framework only runs on Windows OS.
- .NET is Open-Source and accepts contributions from the community. The .NET Framework source code is available but does not take direct contributions.
- .NET Framework is included in Windows and automatically updated machine-wide by Windows Update. .NET is shipped independently.
Applications Developed using .NET Framework
The types of applications that can be built in the .Net framework are classified broadly into the following categories.
WinForms – This is used for developing Forms-based applications, which would run on an end-user machine. Notepad is an example of a client-based application. 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.
- The Web application would be processed on a server, which would have Internet Information Services Installed.
- Internet Information Services or IIS is a Microsoft component that is used to execute an ASP.NET application.
- The result of the execution is then sent to the client machines, and the output is shown in the browser.
ADO.NET: This technology is used to develop applications to interact with databases such as Oracle or Microsoft SQL Server. ADO.NET is a module of the .Net Framework, which is used to establish a connection between applications 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.
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.
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 that 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.
In the next article, I am going to discuss Introduction to C# Programming Language. Here, in this article, I try to explain .NET Framework Architecture and Components in detail. and I hope you enjoy this .NET Framework Architecture and Components article.
About the Author: Pranaya Rout
Pranaya Rout has published more than 3,000 articles in his 11-year career. Pranaya Rout has very good experience with Microsoft Technologies, Including C#, VB, ASP.NET MVC, ASP.NET Web API, EF, EF Core, ADO.NET, LINQ, SQL Server, MYSQL, Oracle, ASP.NET Core, Cloud Computing, Microservices, Design Patterns and still learning new technologies.