What is .NET Framework? Explain Architecture & Components

โšก Smart Summary

.NET Framework is a Microsoft platform for building and running Windows desktop, web, and service applications. It bundles the Common Language Runtime, a shared class library, and languages such as C# and VB.NET into one managed development environment.

  • ๐Ÿงฉ Definition: .NET Framework is a Windows-only stack of tools, languages, and libraries for desktop and web apps.
  • ๐Ÿ›๏ธ Architecture: The Common Language Runtime executes managed code while class libraries supply reusable, ready-made functionality.
  • โš™๏ธ Core components: The CLR, the class library, and supported languages work together to compile and run applications.
  • ๐Ÿ›ก๏ธ Design principles: Interoperability, portability, security, automatic memory management, and simplified deployment shape the framework.
  • ๐ŸŒ Application types: WinForms builds desktop apps, ASP.Net powers websites, and ADO.Net connects to databases.
  • ๐Ÿค– AI relevance: ML.NET and the ONNX Runtime add machine learning, while GitHub Copilot accelerates .NET coding.

What is .NET Framework

What is .Net Framework?

.Net Framework is a software development platform developed by Microsoft for building and running Windows applications. The .Net framework consists of developer tools, programming languages, and libraries to build desktop and web applications. It is also used to build websites, web services, and games.

The .Net framework was meant to create applications that would run on the Windows Platform. The first version of the .Net framework was released in the year 2002. The version was called .Net framework 1.0. The Microsoft .Net framework has come a long way since then, and the latest version is .Net Framework 4.8.1.

The Microsoft .Net framework can be used to create both โ€” Form-based and Web-based applications. Web services can also be developed using the .Net framework.

The framework also supports various programming languages such as Visual Basic and C#. So developers can choose and select the language to develop the required application. In this chapter, you will learn some basics of the .Net framework.

.Net Framework Architecture

.Net Framework Architecture is a programming model for the .Net platform that provides an execution environment and integration with various programming languages for simple development and deployment of various Windows and desktop applications. It consists of class libraries and reusable components.

The basic architecture of the .Net framework is shown below.

.Net Framework Architecture Diagram

.Net Framework Architecture Diagram

.NET Components

The architecture of the .Net framework is based on the following key components:

1. Common Language Runtime

The Common Language Runtime (CLR) is the execution engine in .Net architecture on which the .Net programs are run.

The CLR has the following key features:

Exception Handling โ€” Exceptions are errors that occur when the application is executed. Examples of exceptions are:

  • If an application tries to open a file on the local machine, but the file is not present.
  • If the application tries to fetch some records from a database, but the connection to the database is not valid.

Garbage Collection โ€” Garbage collection is the process of removing unwanted resources when they are no longer required. Examples of garbage collection are:

  • A file handle that is no longer required. If the application has finished all operations on a file, then the file handle may no longer be required.
  • The database connection is no longer required. If the application has finished all operations on a database, then the database connection may no longer be required.

Working with various programming languages โ€” As noted in an earlier section, a developer can develop an application in a variety of .Net programming languages.

  1. Language โ€” The first level is the programming language itself; the most common ones are VB.Net and C#.
  2. Compiler โ€” There is a compiler that is separate for each programming language. So underlying the VB.Net language, there will be a separate VB.Net compiler. Similarly, for C#, you will have another compiler.
  3. Common Language Runtime โ€” This is the final layer in .Net, used to run a .Net program developed in any programming language. The subsequent compiler sends the program to the CLR layer to run the .Net application.

.NET Components

2. Class Library

The .NET Framework includes a set of standard class libraries. A class library is a collection of methods and functions that can be used for the core purpose.

For example, there is a class library with methods to handle all file-level operations. So there is a method that can be used to read the text from a file. Similarly, there is a method to write text to a file.

Most of the methods are split into either the System.* or Microsoft.* namespaces. (The asterisk * just means a reference to all of the methods that fall under the System or Microsoft namespace.)

A namespace is a logical separation of methods that groups related classes under one name.

3. Languages

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.

ASP.Net โ€” This is used for developing web-based applications, which are made to run on any browser such as Internet Explorer, Chrome, or Firefox.

  • 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.

Microsoft always ensures that .Net frameworks are in compliance with all the supported Windows operating systems.

.Net Framework Design Principle

The following design principles are what make the .Net framework very relevant for creating .Net-based applications.

1) Interoperability โ€” The .Net framework provides a lot of backward support. Suppose you had an application built on an older version of the .Net framework, say 2.0. Running the same application on a machine with a higher version, say 3.5, would still work. This is because with every release, Microsoft ensures that older framework versions gel well with the latest version.

2) Portability โ€” Applications built on the .Net framework can be made to work on any Windows platform. And now in recent times, Microsoft is also envisioning making Microsoft products work on other platforms, such as iOS and Linux.

3) Security โ€” The .NET Framework has a good security mechanism. The inbuilt security mechanism helps in both validation and verification of applications. Every application can explicitly define its security mechanism. Each security mechanism is used to grant the user access to the code or to the running program.

4) Memory management โ€” The Common Language Runtime (CLR) does all the work of memory management. The .Net framework has all the capability to see those resources that are not used by a running program. It would then release those resources accordingly. This is done via a program called the “Garbage Collector” that runs as part of the .Net framework. The garbage collector runs at regular intervals and keeps checking which system resources are not utilized, and frees them accordingly.

5) Simplified deployment โ€” The .Net framework also has tools to package applications built on it. These packages can then be distributed to client machines, where they automatically install the application.

FAQs

The .NET Framework runs only on Windows and is now in maintenance mode at version 4.8.1. Modern .NET, formerly .NET Core, is cross-platform, open source, and actively developed, making it the recommended choice for new projects.

The Common Language Runtime (CLR) is the engine that executes managed code, handling memory and exceptions. The Common Language Specification (CLS) is a set of rules every .NET language follows so components written in different languages interoperate safely.

The .NET Framework supports several languages that compile to a common intermediate language. The most widely used are C# and VB.NET, with F# for functional programming. All of them share the same runtime, class library, and tooling.

No. The .NET Framework is Windows-only. To target Linux or macOS you use modern .NET, formerly .NET Core, which is cross-platform. The older Mono project also ran some .NET Framework code on other operating systems.

Yes. The .NET Framework is free to download and use, and it ships built into Windows. Development tools such as Visual Studio Community and Visual Studio Code are also free for individuals, small teams, and open-source projects.

Yes. Version 4.8.1 remains supported as a Windows component and receives security and reliability fixes. However, Microsoft focuses new features on modern .NET, so most new development now targets that platform instead of the Framework.

Yes. ML.NET lets you train and run machine learning models directly in C#, and the ONNX Runtime executes pre-trained deep learning models. You can also call cloud AI services, so .NET applications add intelligent features without leaving the ecosystem.

Yes. GitHub Copilot suggests C# and VB.NET code inside Visual Studio and VS Code, scaffolding classes, methods, and boilerplate from comments. Treat its output as a first draft and review it, since generated code can miss edge cases or project conventions.

Summarize this post with: