Ankündigung Informationen über die .NET Framework Versionen

  • Release
  • Open Source

    Informationen über die .NET Framework Versionen

    Warum gibt es dieses Thema?
    Oft werden hier im Showroom Programme von Benutzern vorgestellt, die noch nicht so viel Erfahrung haben. Zu Projektbeginn wird meist ohne viel Nachdenken die Auswahl ".NET Framework 4.0" (Visual Studio 2010) getroffen:

    Um die Problematik zu verstehen lese dir also bitte diesen Beitrag bis zum Ende durch!


    Welche .NET Framework Version sollte ich denn benutzen?
    Das ist komplett deine persönliche Entscheidung. Jedoch gibt es verschiedene Sichtweisen zu diesem Thema. Du musst für dich abwägen, was dir wichtiger ist. Denke also genau über die Vor- und Nachteile der folgenden beiden Kategorieren nach und entscheide dann, welche Version du wählen möchtest.
    Zudem definieren einige Personen eine "alte" Framework Versionen bereits ab Version 3.5 (also die dritt-neueste die erschienen ist). Andere wiederum sagen, dass 2.0 noch immer unterstützt werden müsse.
    Eine objektive und übersichtliche Darstellung aller Features der jeweiligen Version kann auf Wikipedia betrachtet werden.
    Bedenke: Wenn du ein Programm schreibst, kannst auch du entscheiden, unter welchen Bedingungen es funktionieren soll.



    Vorteile einer älteren Version des .NET Frameworks
    Folgende Punkte werden oft im Zusammenhang genannt, warum eine möglichst niedrige (z.B. Version 2.0) gewählt werden sollte:
    • Abwärtskompabilität für Nutzer älterer Betriebssysteme (Beispielsweise Windows 98, Windows 2000)
    • Viele Nutzer verwenden, obwohl sie "bereits" Windows XP in Betrieb haben, noch eine sehr alte Version vom .NET Framework (oft wird dies mit der Dateigröße einer neueren Version begründet)
    • Programme, die für .NET geschrieben sind, könnten auch auf anderen, unabhängigen Plattformen laufen, wie zum Beispiel unter Unix-Derivaten via Mono
    • Einfaches Upgraden möglich, falls Features neuer Versionen benötigt werden sollten



    Vorteile einer neueren Version des .NET Frameworks
    Folgende Punkte werden oft im Zusammenhang genannt, warum eine möglichst hohe (z.B. Version 3.5, 4.0, 4.5, 4.5.1) gewählt werden sollte:
    • Garantie dafür, dass auch neue Features unbegrenzt genutzt werden könnten
    • Features wie die LINQ, WPF, WCF oder das TAP, auf die viele Entwickler nicht verzichten wollen
    • Geringere Dateigrößen (verursacht durch Optimierungen und Verlagerung von Code der Binärdateien direkt in das Framework)
    • Keine Rücksichtnahme auf Bugs einer alten Version
    • Verwendung neuer Funktionalitäten bei der Entwicklung, so beispielsweise dem Debuggen von Funktionsrückgabewerten (.NET 4.5.1)
    • Keine Unterstützung für ältere Betriebssystem nötig, wo beispielsweise das UI komplett anderes dargestellt werden könnte (Entwicklung unter Windows 7, Ausführung unter Windows 2000 oder Windows XP - und schon hat man den "Salat")

    Ein weiteres, eher verstärkendes Argument, ist das in die Jahre gekommene Betriebssystem. Windows XP ist bereits seit 2001 erhältlich, der offizielle Support von Microsoft ist bereits beendet. Viele sagen sich: "Warum sollte man die alten Feger also noch mit unterstützen, wenn die Nutzerzahl sowieso rückläufig ist?".

    Wenn du eine Programmbibliothek entwickelst...
    dann denke daran, dass deine Library von einem anderen Programmierer verwendet wird, der nicht die gleichen Ansichten hat, wie du. Andere Programmierer setzen an einigen Stellen vielleicht auf ein anderes Framework. Das bedeutest, dass du, als Entwickler einer Library, eventuell auf hohe Kompatibilität achten solltest. Das bleibt natürlich deine Entscheidung.
    Es gilt nicht: "Bei 2.0 funktioniert die Assembly mit allem, was größer ist". Es ist so, dass .NET 2.0, 3.0 und 3.5 auf der CLR-Engine 2.0 aufbauen. Bei .NET 4.0 und 4.5 wird jedoch eine neuere CLR-Engine (4.0) verwendet. Diese hat diverse Optimierungen und ist nicht kompatibel zur älteren Engine.
    Daraus ergibt sich folgende Tabelle:


    Oben: Die Version des installierten Frameworks
    Links: Die Framework-Version der Assembly.
    X: Diese Versionen sind kompatibel.
    -: Diese Versionen sind nicht kompatibel.

    Daraus geht z. B. hervor, dass ein .NET 3.5-Programm genau das .NET-Framework 3.5 benötigt. .NET 4.0 oder höher alleine reicht nicht. Aus diesem Grund können 2.0/3.5 und 4.0/4.5 auch separat ("Side-By-Side") installiert werden.

    Abschließend...
    ...ist nur noch zu sagen, dass du nun alle Hintergründe der Version betreffend kennst und somit eine objektive (oder auch subjektive) Entscheidung fällen kannst.
    Denk immer daran: es sind deine Programme die du veröffentlichst und freundlicherweise der Allgemeinheit zur Verfügung stellst. Du zwingst ja schließlich niemanden, deine Software zu benutzen.


    Ich habe mich entschieden, die benötigte Version des Frameworks zu verändern. Wo mache ich das?
    Bilder sagen bekanntlich mehr als 1000 Worte.



    Weitere Hinweise: Dieser Thread ist dazu gedacht, die ewigen Streiteren (Flamewars) zu beenden. Falls eine solche Diskussion aufkommt, bitten wir darum, einfach auf dieses Thema zu verweisen. Vielen Dank!
    To make foobar2000 a real random music player, I figured out the only way to achieve this is to use Windows Media Player.

    At some point in time, you recognize that knowing more does not necessarily make you more happy.

    Dieser Beitrag wurde bereits 15 mal editiert, zuletzt von „Chrisber“ ()