Section 1. Introduction. 1.2 Introduction to .NET Framework
.NET is a software framework that is designed and developed by Microsoft. The first version of the .Net framework was 1.0 which came in the year 2002. In easy words, it is a virtual machine for compiling and executing programs written in different languages like C#, VB.Net, etc.
It is used to develop Form-based applications, Web-based applications, and Web services. There is a variety of programming languages available on the .Net platform, VB.Net and C# being the most common ones. It is used to build applications for Windows, phones, web, etc. It provides a lot of functionalities and also supports industry standards.
.NET Framework supports more than 60 programming languages in which 11 programming languages are designed and developed by Microsoft. The remaining Non-Microsoft Languages are supported by .NET Framework but not designed and developed by Microsoft.
Programming Languages which are designed and developed by Microsoft are:
- WINDOWS POWERSHELL
- IRON RUBY
- IRON PYTHON
- C OMEGA
- ASML(Abstract State Machine Language)
Main Components of .NET Framework
Common Language Infrastructure (CLI)
Common Language Infrastructure (CLI) provides a language-neutral platform for application development and execution. By implementing the core aspects of .NET Framework within the scope of CLI, these functions will not be tied to one language but will be available across the many languages supported by the framework.
Common Language Runtime(CLR)
.NET Framework includes the Common Language Runtime (CLR). It serves as the execution engine of .NET Framework and offers many services such as memory management, type safety, exception handling, garbage collection, security and thread management. All programs written for .NET Framework are executed by the CLR.
Programs written for .NET Framework are compiled into Common Intermediate Language code (CIL), as opposed to being directly compiled into machine code. During execution, an architecture-specific just-in-time compiler (JIT) turns the CIL code into machine code.
WPF (Windows Presentation Foundation)
Windows Presentation Foundation (WPF) is a graphical subsystem given by Microsoft which uses DirectX and is used in Windows-based applications for rendering UI (User Interface). WPF was initially released as part of .NET Framework 3.0 in 2006 and previously known as “Avalon”.
WCF (Windows Communication Foundation)
It is a framework for building connected and service-oriented applications used to transmit the data as asynchronous from one service endpoint to another service point. It was previously known as the Indigo.
WF (Windows Workflow Foundation)
It is a technology given by Microsoft which provides a platform for building workflows within .Net applications.
It is a Microsoft .NET Framework software client which is designed to let users provide their digital identity to online services in a secure, simple and trusted way.
LINQ (Language Integrated Query)
It is introduced in .Net framework version 3.5. Basically, it is a query language used to make the query for data sources with VB or C# programming languages.
It is open–source ORM (Object Relational Mapping) based framework which comes into .Net Framework version 3.5. It enables the .Net developer to work with database using .Net objects. Before entity framework, .Net developers have performed a lot of things related database. Like to open a connection to the database, developers have to create a Data Set to fetch or submit the data to the database, convert data from the Data Set to .NET objects or vice-versa. It creates the difficulties for developers and also it was the error-prone process, then “Entity Framework” comes to automate all these database related activities for the application. So, Entity Framework allows the developers to work at a higher level of abstraction.
Note : REST (Representational State Transfer) and AJAX were added in .Net Framework 3.5 as an extension and services of ASP.NET for enhancing web services of .NET Framework.
Parallel LINQ (Language Integrated Query)
It comes in .Net Framework version 4.0 and also termed as PLINQ. It provides a concurrent query execution engine for LINQ. It executes the LINQ in parallel such that it tries to use as much processing power system on which it is executing.
TPL (Task Parallel Library)
It is a set of public types and APIs. It allows the developers to be more productive by simplifying the process of adding concurrency and parallelism to .Net applications.
.NET API For Store/UWP Apps
In 2012, Microsoft added some APIs for creating UWP(Universal Windows Platform) apps for Windows using C# or VB.
Task-Based Asynchronous Model
It is model used to describe the asynchronous operations and tasks in .Net Framework.
Compiled CIL code is stored in CLI assemblies. As mandated by the specification, assemblies are stored in Portable Executable (PE) file format, common on Windows platform for all dynamic-link library (DLL) and executable EXE files. Each assembly consists of one or more files, one of which must contain a manifest bearing the metadata for the assembly. The complete name of an assembly (not to be confused with the file name on disk) contains its simple text name, version number, culture, and public key token. Assemblies are considered equivalent if they share the same complete name.
.NET Framework includes an implementation of the CLI foundational Standard Libraries. The .NET Framework Class Library (FCL) is organized in a hierarchy of namespaces. Most of the built-in application programming interfaces (APIs) are part of either System.* or Microsoft.* namespaces. These class libraries implement many common functions, such as file reading and writing, graphic rendering, database interaction, and XML document manipulation. The class libraries are available for all CLI compliant languages. The FCL implements the CLI Base Class Library (BCL) and other class libraries – some are specified by CLI and other are Microsoft specific.
BCL includes a small subset of the entire class library and is the core set of classes that serve as the basic API of CLR. For .NET Framework most classes considered being part of BCL reside in mscorlib.dll, System.dll and System.Core.dll. BCL classes are available in .NET Framework as well as its alternative implementations including .NET Compact Framework, Microsoft Silverlight, .NET Core and Mono.
FCL refers to the entire class library that ships with .NET Framework. It includes an expanded set of libraries, including BCL, Windows Forms, ASP.NET, and Windows Presentation Foundation (WPF) but also extensions to the base class libraries ADO.NET, Language Integrated Query (LINQ), Windows Communication Foundation (WCF), and Workflow Foundation (WF). FCL is much larger in scope than standard libraries for languages like C++, and comparable in scope to standard libraries of Java.
With the introduction of alternative implementations (e.g., Silverlight), Microsoft introduced the concept of Portable Class Libraries (PCL) allowing a consuming library to run on more than one platform. With the further proliferation of .NET platforms, the PCL approach failed to scale (PCLs are defined intersections of API surface between two or more platforms). As the next evolutionary step of PCL, the .NET Standard Library was created retroactively based on the System.Runtime.dll based APIs found in UWP and Silverlight. New .NET platforms are encouraged to implement a version of the standard library allowing them to re-use extant third-party libraries to run without new versions of them. The .NET Standard Library allows an independent evolution of the library and app model layers within the .NET architecture.
Is .NET application platform dependent or platform independent?
The combination of Operating System Architecture and CPU Architecture is known as the platform. Platform dependent means the programming language code will run only on particular Operating System. A .NET application is platform-dependent because of the .NET framework which is only able to run on the Windows-based operating system. The .Net application is platform-independent also because of the Mono framework. Using the Mono framework the .Net application can run on any Operating System including windows. Mono framework is a third-party software developed by Novell Company which is now a part of Micro Focus Company. It is a paid framework.
Release History of .NET Framework and its compatibility with the different Windows version
|.NET Version||CLR Version||Development tool||Windows Support|
|1.0||1.0||Visual Studio .NET||XP SP1|
|1.1||1.1||Visual Studio .NET 2003||XP SP2, SP3|
|2.0||2.0||Visual Studio 2005||N/A|
|3.5||2.0||Visual Studio 2008||7, 8, 8.1, 10|
|4.0||4||Visual Studio 2010||N/A|
|4.5||4||Visual Studio 2012||8|
|4.5.1||4||Visual Studio 2013||8.1|
|4.6||4||Visual Studio 2015||10 v1507|
|4.6.1||4||Visual Studio 2015 Update 1||10 v1511|
|4.7||4||Visual Studio 2017||10 v1703|
|4.7.1||4||Visual Studio 2017||10 v1709|
|4.7.2||4||Visual Studio 2017||10 v1803, 10 v1809|
|4.8||4||Visual Studio 2019||11|
10 May 2021 Update
10 October 2020 Update
10 May 2020 Update
10 November 2019 Update
10 May 2019 Update
- Visual Studio is the development tool that is used to design and develop .NET applications. For using Visual Studio, the you should first install the .NET framework on the PC/laptop.
- In the older version of Windows OS like XP SP1, SP2, or SP3, the .NET framework was integrated with the installation media.
- Windows 8, 8.1, or 10 do not provide a pre-installed version 3.5 or later of .NET Framework. Therefore, a version higher than 3.5 must be installed either from a Windows installation media or from the Internet on demand. Windows update will give recommendations to install the .NET framework.
Types of Applications
Mainly the applications which are built in .Net framework is divided into the following three categories :
- WinForms : Form – Based applications are considered under this category. In simple terms, we can say client based applications which read and writes the file system comes under this category.
- ADO.NET : It includes the application which are developed to communicate with the database like MS SQL Server, Oracle etc. comes. It mainly consists of classes that can be used to connect, retrieve, insert and delete data.
Thank you for reading.
Check for more tutorials at acoptex.lt.
Check for Arduino and Raspberry Pi projects on our website acoptex.com.