blog.atwork.at

news and know-how about microsoft, technology, cloud and more.

Übersicht über die Microsoft .NET Versionen

Wir alle verwenden es, das Microsoft .NET Framework. Davon gibt es mittlerweile ... wie viele Versionen? Was sind Versionen und was sind Upgrades? .NET Developer kennen ihre verwendeten Versionen. Aber alle anderen...? Scott Hanselman hat hierzu einen guten Artikel geschrieben, der Klarheit in die Sache bringt:

.NET Versioning and Multi-Targeting - .NET 4.5 is an in-place upgrade to .NET 4.0

Das .NET Framework Versionen gibt es in zwei Varianten:
Als "side by side install" und als "in place upgrade". Für .NET Framework Versionsnummern gibt es diese Regeln:

  • Major Version = Neue CLR
  • Minor Version = Bug fixes, neue Libraries
  • Revision = Bug fixes, keine (Namens)Änderungen, kleinere Verbesserungen

Scott beschreibt hier sehr schön die Versionen des .NET Frameworks: .NET CLR 1, .NET CLR 2 und .NET CLR 4.

do-net-framework-versions
Grafik: Scott Hanselman

Side-by-side bedeutet, dass verschiedene Versionen von .NET auf der selben Maschine laufen können.
.NET 1.1 ist schon laaange obsolet. Ja, man kann .NET 2.0, 3.5, 4 and 4.5 Applikationen auf einer Maschine laufen lassen!
Hinweis: Das .NET Framework 4.5 Beta läuft nicht unter Windows XP und Windows Vista, siehe msdn!

Bei der Versionsbenennung hat Microsoft .NET CLR 3 übersprungen. So sind .NET 3.0 und .NET 3.5 eigentlich nur "Subsets" (Verbesserungen und Neuerungen) des .NET 2.0 Frameworks. Daher ist zum Beispiel in IIS Application Pools nur .NET 2 oder .NET 4 auswählbar...

do-net-framework-4-5
Grafik: Scott Hanselman

In-place upgrade bedeutet, EINE CLR, in die Bug Fixes, neue Libraries und Performance Verbesserungen hinzugefügt wurden. Hier am Beispiel von .NET 4.5, welches in .NET CLR 4 inkludiert ist.

Die Tabelle von Request for Comments: Issues with .NET and Microsoft Product Versioning zeigt einen Überblick bis .NET 4.0.

do-net-framework-overview
Quelle: Scott Hanselman

Multi-Targeting

In Visual Studio 11 Beta können alle Frameworks ab .NET 2.0 ausgewählt werden:

vs11-dot-net-framework

Auch wenn .NET 4 and .NET 4.5 NICHT side-by-side, sondern in derselben .NET CLR 4 laufen, weiß Visual Studio über die unterschiedlichen .NET Versionen Bescheid und der Compiler referenziert die ausgewählte Version beim Build-Vorgang. Das nenn ich Service.

.NET 4.5 ist derzeit in Beta - und soll voll abwärtskompatibel mit .NET 4.0 bleiben, siehe Compatibility of .NET Framework 4.5im .NET Blog - und im eigenen Windows-Verzeichnis: .NET 4.5 Beta besitzt dieselbe Versionsnummer wie .NET 4.0: Version 4.0.30319.

do-net-frameworks

Die Abwärtskompatibilität ist derzeit allerdings noch nicht vollständig vorhanden: Im MSDN zeigt der Artikel Application Compatibility in the .NET Framework 4.5 Beta einige Kompatibilitätsprobleme von .NET 4.5 Beta und .NET 4.0. Scott schreibt darüber "...most are pretty obscure". Daher vermute ich mal, dass Microsoft hieran noch arbeiten wird...

Übrigens: .NET 4 Applikationen erhalten so (.NET CLR 4) automatisch alle Library Verbesserungen und verbesserte Geschwindigkeit, wenn sie auf einem .NET 4.5 System laufen. Praktisch.

Empfehlenswert ist auch ein Blick in .NET 4.5 Framework System Requirements:
Es läuft erst ab Windows 7 und ab Windows Server 2008 SP2.

Zum Abschuss noch ein ganz aktueller Überblick mit Details über die .NET Frameworks:

do-net-frameworks-clr

Grafik: .NET Framework Versions and Dependencies

Ich hoffe, dieser kleine Einblick in der Welt der Microsoft .NET Frameworks liefert Klarheit und hilft bei der Auswahl des Frameworks für neue Applikationen.



Loading