NOTES
NOTES
The .NET Framework is a software framework developed by Microsoft that provides a platform
for building, deploying, and running the Windows-based applications. It was first released in
2002 and has since become one of the most widely used frameworks for building Windows-
based applications.
CLR (Common Language Runtime): The CLR is the runtime environment that manages the
execution of .NET code. It provides services such as memory management, exception handling,
and security.
Framework Class Library (FCL): The FCL is a large library of pre-built classes and interfaces
that provide a wide range of functionality for tasks such as file I/O, networking, database access,
and more.
C# and Visual Basic .NET: C# and Visual Basic .NET are two popular programming languages
that are designed to work with the .NET Framework.
ASP.NET:
ASP.NET is a set of technologies for building web applications that run on the .NET Framework.
Platform Independence: .NET code can run on multiple platforms, including Windows, Linux,
and macOS.
Type Safety: .NET provides strong typing, which helps prevent type-related errors at compile-
time rather than at runtime.
Memory Management: The CLR manages memory allocation and deallocation, reducing the
risk of memory-related errors.
Garbage Collection: The CLR provides automatic garbage collection, which frees developers
from worrying about memory management.
Multithreading: The CLR provides support for multithreading, allowing developers to write
programs that can take advantage of multiple CPU cores.
Security: The CLR provides built-in security features such as code access security and role-
based security.
Benefits of using .NET Framework:
Faster Development:
The .NET Framework provides a large library of pre-built classes and interfaces, making it
faster to develop applications.
The strong typing and memory management features of the CLR help reduce the risk of errors
and improve code quality.
Cross-Platform Compatibility: The ability to run .NET code on multiple platforms makes it
easier to deploy applications across different environments.
Large Community: The .NET Framework has a large and active community, with many
resources available for developers.
Version 1.0 (2002): The initial release of the .NET Framework, which introduced the CLR and
FCL.
Version 1.1 (2003): Added support for ASP.NET 1.1 and improved performance.
Version 2.0 (2005): Introduced LINQ (Language Integrated Query) and other new features.
Version 3.0 (2007): Introduced WPF (Windows Presentation Foundation) and WF (Windows
Workflow Foundation).
Version 3.5 (2008): Added support for LINQ to SQL and other features.
Version 4.0 (2010): Introduced parallel programming support and other new features.
Version 4.5 (2012): Added support for async/await syntax and other features.
Version 4.6 (2015): Introduced async programming support and other features.
Note: The latest version of the .NET Framework is version 4.8, which was released in 2020.
The Common Language Runtime (CLR) is a part of the .NET Framework that provides a
runtime environment for .NET code. It is responsible for executing .NET code, managing
memory, and providing services such as exception handling, security, and debugging.
How the CLR Works:
Compilation: The CLR compiles .NET code into an intermediate language called Microsoft
Intermediate Language (MSIL).
JIT Compilation: The CLR compiles MSIL into native machine code at runtime.
Execution: The CLR executes the native machine code, providing services such as memory
management and exception handling.
Faster Development: The CLR provides a managed environment that makes it easier to develop
and deploy applications.
Improved Code Quality: The CLR provides features such as type safety and exception
handling, which help improve code quality.
Better Security: The CLR provides built-in security features that help protect against common
security threats.
Cross-Platform Compatibility: The CLR allows .NET code to run on multiple platforms,
including Windows, Linux, and macOS.
Security System: Provides security features such as code access security and role-based
security.