The .NET Framework is a class of reusable libraries (collection of classes) given by Microsoft to be used in other .Net applications and to develop, build and deploy many types of applications on the Windows platform including the following:
- Console Applications
- Windows Forms Applications
- Windows Presentation Foundation (WPF) Applications
- Web Applications
- Web Services
- Windows Services
- Services-oriented applications using Windows Communications Foundation (WCF)
- Workflow-enabled applications using Windows Workflow Foundation(WF)
That primarily runs on the Microsoft Windows operating system.
Figure 1
Visual Overview of .NET Framework
Compiling a .NET program
What really happens when we compile a .NET program?
- The exe file that is created doesn't contain executable code, rather it's MicroSoft Intermediate Language (MSIL) code.
- When you run the EXE, a special runtime environment (the Common Language Runtime or CLR) is launched and the IL instructions are executed by the CLR to the machine language.
- The CLR comes up with a Just In Time Compiler that translates the IL to native language the first it is encountered.
So the process of programming goes through like:
- We write a program in C#, VB.Net and other languages.
- We compile our code to IL code based on the language compiler (csc.exe, vbc.exe and so on).
- Run your IL program that launches the CLR to execute your IL, using its its JIT to translate your program into native code as it executes.
Framework Component
Microsoft.NET Framework Runtime (.NET)
The Microsoft.NET Framework Runtime (.NET) is used for the development and production of .NET applications, in other words development means where the application is being made whereas production means the application is being deployed for production.
Windows SDK
The Windows SDK is used in applications for Windows XP, Windows Vista, Windows 7, Windows 8, Windows Server 2008, .NET Framework 3.0, .NET Framework 3.5 and .NET Framework 4.0.
Visual Studio.NET
- It's an Integrated Development Environment and Rapid Application Development (drag and drop rather than using a text editor) to develop computer programs for Microsoft Windows, as well as web sites, web applications and web services. Visual Studio uses Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, Windows Store and Microsoft Silverlight. It can produce both native code and managed Code.
- Not needed in a production environment.
- Can be used in any type of .NET application.
Core of .NET Framework
I will explain these topics in depth in my next articles. Just for a reference these are the core of the .NET Framework:
- Application Services
- .NET Framework Base class Libraries
- Common Language Runtime
- Garbage Collector
- Common Type System
- Common Language Specification