Zur Ausführung von .NET Framework Anwendungen muss das Microsoft .NET Framework-Paket installiert sein und ist kostenlos erhältlich:
www.microsoft.com/germany/ms/entwicklerprodukteEbenfalls auf dieser Internetseite wird das .NET Framework SDK (Software Development Kit) angeboten. Dieses enthält zusätzlich verschiedene Tools wie den Kommandozeilencompiler für VisualBasic .NET oder C#.
Ein weiteres Produkt von Microsoft zur Entwicklung von Programmen ist die Programmierumgebung Visual Studio .NET. Hier hat man die Möglichkeit in verschiedenen Programmiersprachen seine .NET Framework Anwendungen zu entwickeln und bearbeiten.
Microsoft hat für die Portabilität von Anwendungen eine prozessorunabhängige Zwischensprache – Microsoft Intermediate Language (MSIL) – entwickelt. Diese Zwischensprache ist von der zugrundeliegenden Architektur unabhängig.
Wie die folgende Abbildung zeigt, dass ein Programmierer seine Anwendung in verschiedenen Programmiersprachen entwickeln kann. Der Quellcode wird mittels sprachspezifischer Compiler in die Zwischensprache MSIL übersetzt und kann anschließend unter Aufsicht der CLR verarbeitet und ausgeführt werden. Eine Ausnahme stellt C++ dar, hier kann auch weiterhin nativer Code erzeugt werden, um Kernel- und Treiberentwicklern maximale Performance für spezielle Plattformen zu gewährleisten.
Die Erzeugung von Zwischencode und die Ausführung des Codes innerhalb einer Laufzeitumgebung kennen wir bereits von Java. MSIL-Code wird jedoch im Gegensatz zu Java-Bytecode vor der Ausführung immer in nativen Code konvertiert. Diese Aufgabe übernimmt der JIT (Just-In-Time) Compiler der CLR.
Neu gegenüber Java ist ebenfalls, dass Programme in beliebigen .NET kompatiblen Sprachen in die Zwischensprache kompiliert werden können. Komponenten, die in einer Sprache erstellt wurden, können problemlos mit Komponenten, die in einer anderen Sprache geschrieben wurden, interagieren. Es ist eine Vererbung über die Sprachgrenzen hinaus möglich.
Jede .NET kompatible Sprache unterstützt dieselben Datentypen, verwendet dieselben .NET Framework Klassen, kompiliert denselben MSIL-Code und verwendet dieselbe CLR zur Verwaltung der Ausführung.
Die Mehrsprachenfähigkeit des .NET Frameworks ermöglicht Entwicklern, die für eine bestimmte Aufgabe am besten geeignete Programmiersprache zu verwenden.
Für mehr als 20 kommerziell und wissenschaftlich genutzte Programmiersprachen wurde die Unterstützung für das .NET Framework angekündigt. Hier sind einige aufgeführt.