Microsoft’s .NET Framework (now at version 4.6 in 2016)
.NET outputs applications for many platforms: Windows desktop, Windows Store, cloud/web, web APIs and others
.NET has a huge library of code that you access from your client languages (C# etc.) using object-orient techniques (OOP)
Visual Studio Modules: Windows, Network and Web
Common Type System (CTS) defines basic types (e.g. 32-bit signed integer) facilitating inter-operability between programming languages.
.NET Framework also provides a Common Language Runtime (CLR) that’s responsible for the execution of all applications developed using .NET library.
You write code in any of the supported languages using the .NET code library in Visual Studio
Visual Studio is an IDE (Integrated Development Environment) supporting C#, C++, VB, Jscript, COBOL etc.
C# is converted into native code that the OS understands by compiling the code in 2-stage process.
First step – compile code into Common Intermediate Language (CIL) which is not C# or OS-specific. CIL’s name: Microsoft Intermediate Language
Last step – The Just-In-Time (JIT) compiler will compile CIL into native code specific to the OS and hardware.
Only now can the OS execute the application.
When you compile an application the CIL code is stored in an assembly which includes executables (exe), libraries (dll), meta information and resources (pictures, movies and sound files)
The Global Assembly Cache (GAC) contains reusable code that your team may access.
Managed Code – The CLR looks after your applications by managing memory, handling security, cross-language debugging, garbage collection etc.
With C# you can only write managed code. With C++ you may write unmanaged code (not under the CLR)
C# is the only language developed from the ground up to work with .NET and can make use of every .NET feature there is.
.NET includes ADO.NET, ADO.NET Entity Framework and LINQ (Language Integrated Query), graphics tools, complex math tools and many others.
The above diagram is in the public domain. By Jarkko Piiroinen (Own work) [Public domain], via Wikimedia Commons.