Verstehen von .NET-Versionen: .NET Core, .NET Standard, .NET Framework und mehr
Die Navigation durch das .NET-Ökosystem kann mit Begriffen wie .NET, .NET SDK, .NET Core, .NET Standard und .NET Framework verwirrend sein. Jedes dieser Tools spielt eine einzigartige Rolle in der C#-Entwicklungsumgebung mit Visual Studio 2022, und das Verständnis ihrer Unterschiede ist entscheidend für die Wahl des richtigen Ziel-Frameworks für Ihr Projekt.
Dieser Artikel, der auf dem Video von Tim Corey zum Thema ".NET-Versionen erklärt - .NET, .NET Core, .NET Standard, .NET Framework und mehr" basiert, soll diese Begriffe vereinfachen und eine klare Anleitung geben, welche Begriffe wann zu verwenden sind.
Warum es .NET Core geben muss
Das .NET Framework, oft einfach als .NET bezeichnet, ist seit über zwei Jahrzehnten ein fester Bestandteil der Softwareentwicklung und der Desktop-Laufzeitumgebung. Aufgrund dieser Einschränkungen wurde .NET Core entwickelt. Tim Corey hebt mehrere wichtige Gründe hervor:
-
Patches und Umgehungen: Im Laufe der Zeit sammelte das .NET Framework zahlreiche Patches und Workarounds an, die es erheblich verlangsamten (1:35).
-
Windows-Abhängigkeit: Das .NET Framework ist tief in Windows integriert, was seine Verwendung auf anderen Plattformen erschwert. Diese Abhängigkeit hat die plattformübergreifende Entwicklung behindert (2:03).
-
Monolithisches Design: Das .NET Framework wurde entwickelt, um alles in einem Paket zu enthalten, was zwar praktisch ist, aber zu einem aufgeblähten und weniger effizienten System führt (2:25).
- Veraltetes Konzept: Das .NET Framework wurde vor über 20 Jahren entwickelt und war nicht auf die moderne Internet- und Mobilnutzung ausgerichtet (3:20).
Die Struktur von .NET-Anwendungen
Um die Vorteile von .NET Core zu verstehen, ist es wichtig zu begreifen, wie eine .NET-Anwendung aufgebaut ist.

Wie Tim Corey erklärt:
-
C#-Quellcode: Ihr C#-Code wird zunächst in Intermediate Language (IL)-Code kompiliert (5:49).
- Common Language Runtime (CLR): Der IL-Code wird dann von der CLR ausgeführt. Das .NET Framework und .NET Core haben unterschiedliche CLRs, aber sie verarbeiten IL-Code auf ähnliche Weise, sodass ein Großteil des Quellcodes auf beiden Plattformen gleich bleibt (6:42).
Vorteile von .NET Core gegenüber .NET Framework
die .NET Core-Laufzeitumgebung ist ein Entwicklungsframework, das entwickelt wurde, um die Unzulänglichkeiten des .NET Frameworks zu beheben. Tim Corey hebt ihre wichtigsten Vorteile hervor:
-
Plattformübergreifende Kompatibilität: Im Gegensatz zum .NET Framework ist .NET Core so konzipiert, dass es auf mehreren Plattformen läuft, darunter Windows, Mac, Linux, Android, iOS, Xbox, IoT und mehr.
-
Leistung: .NET Core bietet erhebliche Leistungsverbesserungen. Es beseitigt die alten Patches und unterstützt moderne Hardware- und Softwarepraktiken, wodurch es schneller als das .NET Framework ist.
-
Modularität: .NET Core ist modular aufgebaut und ermöglicht es Entwicklern, nur die notwendigen Komponenten einzubinden, was den Overhead reduziert und die Effizienz verbessert.
-
Moderne Funktionen: .NET Core verfügt über modernere, sofort einsatzbereite Funktionen, wie z. B. integrierte Abhängigkeitsinjektion und Protokollierung, die bewährte Verfahren bei der Entwicklung fördern.
-
Open Source: .NET Core ist Open Source und fördert die Beiträge der Community und die Transparenz bei der Entwicklung.
-
Konform mit Industriestandards: .NET Core hält sich an Industriestandards und gewährleistet Kompatibilität und Integration mit modernen Technologien, im Gegensatz zu .NET Framework, das auf Windows-Umgebungen beschränkt ist.
- Einfach zu aktualisieren: Ein Upgrade von .NET Core ist in der Regel unkompliziert und erfordert oft nur Änderungen an den Versionsnummern und die Aktualisierung der NuGet-Pakete. Microsofts Teil des Upgrade-Prozesses ist vereinfacht, mit weniger einschneidenden Änderungen im Vergleich zu .NET Framework, das in der Vergangenheit komplexere und problematischere Upgrades beinhaltete.
.NET Standard
Tim erklärt, dass der .NET Standard eine Spezifikation ist, die eine Reihe von APIs definiert, die alle .NET-Plattformen implementieren müssen, und nicht nur eine Laufzeitumgebung ist. Er bietet eine einheitliche API, die die Kompatibilität des Codes zwischen verschiedenen .NET-Implementierungen gewährleistet. Das bedeutet, dass Sie Bibliotheken schreiben können, die sowohl mit .NET Core als auch mit dem .NET Framework funktionieren. Bei 33:35 bespricht Tim alle Versionen von .NET Standard bis hin zur neuesten Version. Die Zusammenfassung ist unten im Screenshot zu sehen:

Detaillierte Aufschlüsselung der .NET-Versionen
.NET Framework Zeitleiste
Das .NET Framework gibt es seit Anfang der 2000er Jahre und ist eng mit Windows integriert. Sie eignet sich für die Erstellung von Windows-Desktop- und Webanwendungen, ist aber in Bezug auf die plattformübergreifenden Möglichkeiten begrenzt.
.NET Framework 1.0 (Januar 2002)
Tim Corey beschreibt die erste Version von .NET Framework 1.0 als revolutionär, da sie das Konzept einer gemeinsamen Zwischensprache einführte, die es mehreren Programmiersprachen ermöglichte, zusammenzuarbeiten (40:07). Diese Basisversion bildet die Grundlage für zukünftige Entwicklungen, indem sie eine einheitliche Plattform für verschiedene Sprachen bietet.
.NET Framework 2.0 (Oktober 2005)
Das drei Jahre später veröffentlichte .NET Framework 2.0 brachte erhebliche Verbesserungen und neue Funktionen mit sich und setzte das Wachstum der Plattform fort (41:40). Diese Version zeichnet sich durch verbesserte Sprachfunktionen und die Unterstützung einer breiteren Palette von Anwendungen aus.
Wichtige Aktualisierungen:
-
November 2006: .NET Framework 3.0 wird eingeführt (41:43).
-
November 2007: .NET Framework 3.5, ein wichtiger Meilenstein, wird veröffentlicht (41:49).
-
April 2010: .NET Framework 4.0, die letzte große Version, ist erschienen (42:13).
-
August 2012: .NET Framework 4.5 wurde veröffentlicht (42:50).
- April 2019: .NET Framework 4.8, die letzte kleinere Version, wurde eingeführt (47:17).
.NET Core-Versionen
.NET Core 1.0 (Juni 2016)
Tim Corey bezeichnet .NET Core 1.0 als Proof of Concept mit begrenzter Funktionalität, um das Potenzial von .NET Core zu demonstrieren (43:32). Diese erste Version legte den Grundstein, wurde aber aufgrund ihrer eingeschränkten Funktionen nicht allgemein angenommen.
.NET Core 2.0 (August 2017)
.NET Core 2.0 wurde als funktionsreicheres Update veröffentlicht und enthält wichtige Verbesserungen, insbesondere bei der Entwicklung von Webanwendungen (45:23). Es handelte sich jedoch nicht um eine LTS-Version, und Tim weist darauf hin, dass sie Änderungen enthielt, die später zur Veröffentlichung einer stabileren Version führten.
.NET Core 2.1 (Mai 2018)
bei .NET Core 2.1 handelt es sich um eine LTS-Version (Long-Term Support), die Tim als entscheidend für Unternehmen bezeichnet, die Stabilität und erweiterten Support benötigen (45:42). Es handelte sich um ein bedeutendes Update, das .NET Core für den Produktionseinsatz besser geeignet machte.
.NET Core 3.0 (September 2019)
mit .NET Core 3.0 wurde die Unterstützung für Desktop-Anwendungen, einschließlich WinForms und WPF, eingeführt und damit die Nutzung über Webanwendungen hinaus erweitert (53:04). Mit dieser Version wurde .NET Core zu einer umfassenderen Plattform, die für Unternehmen attraktiv ist, die von .NET Framework migrieren.
.NET Core 3.1 (Dezember 2019)
Aufbauend auf 3.0 war .NET Core 3.1 eine weitere LTS-Version, die kontinuierliche Unterstützung und Stabilität für Desktop- und Webanwendungen bietet (53:16). Tim erklärt, dass diese Version einen Punkt markiert, an dem .NET Core als funktionsreich und zuverlässig für den Einsatz in Unternehmen gilt.
.NET 5 und darüber hinaus
.NET 5.0 (November 2020)
Mit der Veröffentlichung von .NET 5 hat Microsoft das "Core" aus dem Namen gestrichen, um das Branding zu vereinfachen (58:03). Tim erklärt, dass diese Änderung darauf abzielt, die Verwirrung zwischen .NET Framework und .NET Core zu verringern. .NET 5 war ein wichtiger Schritt bei der Vereinheitlichung des .NET-Ökosystems unter einem einzigen Namen.
.NET 6.0 (November 2021)
mit .NET 6 wurde der mit .NET 5 eingeführte jährliche Veröffentlichungszyklus fortgesetzt (59:56). Tim merkt an, dass jede neue Version, einschließlich .NET 6, Teil eines jährlichen Aktualisierungsrhythmus ist, der regelmäßige Verbesserungen und Funktionserweiterungen ermöglicht.
.NET 7.0 (November 2022)
.NET 7 folgte dem jährlichen Veröffentlichungsmuster und entwickelte die Plattform mit kleineren Updates und Verbesserungen weiter (59:56). Tim erörtert die Details, wie diese Version, zusammen mit ihren Vorgängern, Microsofts Engagement für kontinuierliche Entwicklung und Innovation im .NET-Ökosystem widerspiegelt.

Verstehen von .NET-Versionen und Support-Lebenszyklus
Tim Corey bietet eine detaillierte Erklärung der .NET-Versionen und ihres Support-Lebenszyklus (1:01:27). Hier finden Sie eine Zusammenfassung der wichtigsten Punkte:
Support-Lebenszyklus: STS vs. LTS
Tim Corey erklärt den Unterschied zwischen zwei Arten von Support-Fenstern: Standard Term Support (STS) und Long-Term Support (LTS).
-
STS (Standard Term Support): Bietet ein 18-monatiges Support-Fenster. Zum Beispiel wurde .NET 5, das im November 2020 veröffentlicht wurde, bis Mai 2022 unterstützt. for .NET 7, das im November 2022 veröffentlicht wurde, gilt ein ähnliches 18-monatiges Supportfenster, das im Mai 2024 endet.
- LTS (Long-Term Support): Bietet ein längeres Support-Fenster von 3 Jahren. .NET 6, das im November 2021 herauskam, wird bis November 2024 unterstützt. .NET 8, das im November 2023 veröffentlicht werden soll, wird die nächste LTS-Version sein, die bis November 2026 unterstützt wird.
Tim weist darauf hin, dass schnelllebige App-Entwickler STS-Versionen bevorzugen, um auf die neuesten Funktionen zugreifen zu können, während Unternehmen oft LTS-Versionen wegen der Stabilität und des längeren Supports bevorzugen.
Upgrade-Pfad und Versionsveröffentlichungen
Tim Corey skizziert den Upgrade-Pfad for .NET-Versionen:
-
Von .NET 5 zu .NET 6: Sie haben ein Jahr Überschneidung, in dem beide Versionen unterstützt werden.
-
Von .NET 6 auf .NET 8: Sie haben ein ganzes Jahr Zeit, um von .NET 6 auf .NET 8 zu aktualisieren, bevor der Support for .NET 6 endet.
- Zünftige Upgrades: Nach diesem Muster wird .NET 8 (derzeit die neueste Version) bis zum Erscheinen von .NET 10 unterstützt, so dass Sie genügend Zeit für ein Upgrade haben.
Tim betont, dass dieser vorhersehbare Release-Zyklus es Unternehmen ermöglicht, ihre Upgrades sicher zu planen.

Microsoft's Support-Strategie
Tim erörtert Microsofts Ansatz für Support und Entwicklung:
-
Kosten und Komplexität: Die Erweiterung der Unterstützung für ältere Versionen kann teuer und komplex sein, da Sicherheitsupdates über mehrere Versionen hinweg beibehalten werden müssen. Aus diesem Grund hat Microsoft eine besser vorhersehbare und überschaubare Support-Strategie gewählt.
- Modulares Framework: Der modulare Ansatz von .NET Core und .NET ermöglicht schnelle Funktions-Updates und einen besser zu verwaltenden Support-Lebenszyklus.
Wahl zwischen .NET Framework und .NET Core
Tim Corey gibt Ratschläge, wann verschiedene .NET-Versionen zu verwenden sind:
-
.NET Framework: Verwenden Sie es für bestehende Projekte oder wenn Sie ältere Betriebssysteme wie Windows XP unterstützen.
- .NET Core (jetzt .NET): Für neue Projekte sollten Sie mit der neuesten Version von .NET beginnen. Ein Upgrade von älteren Versionen von .NET Framework auf .NET kann erhebliche Leistungsverbesserungen bringen.
ASP.NET vs. ASP.NET Core
Tim erklärt die Unterschiede zwischen ASP.NET und ASP.NET Core:
-
ASP.NET: Basiert auf dem .NET Framework und unterstützt Web Forms, MVC und Web API. Insbesondere Web Forms ist nicht in ASP.NET Core enthalten.
- ASP.NET Core: Ein modulares Framework zum Erstellen von Webanwendungen auf .NET Core. Sie umfasst Razor Pages, MVC, API, Blazor Server und Blazor WebAssembly. ASP.NET Core ist im Vergleich zu seinem Vorgänger flexibler und moderner gestaltet.
Tim bei 1:21:00 stellt klar, dass ASP.NET Core die Webentwicklung mit neuen Funktionen und größerer Modularität unterstützt, während ASP.NET (Framework) eher traditionell und auf ältere .NET-Versionen beschränkt ist.
Abschluss
Tim Corey bietet einen klaren und aufschlussreichen Leitfaden für die Navigation im .NET-Ökosystem, vom historischen Kontext des .NET Frameworks bis hin zu den modernen Möglichkeiten von .NET Core und darüber hinaus. Sein Video erklärt die Entwicklung der .NET-Versionen, die Notwendigkeit von .NET Core und die Vorteile von Modularität und plattformübergreifender Kompatibilität. Ganz gleich, ob Sie sich zwischen .NET Framework und .NET Core entscheiden oder den Support-Lebenszyklus der verschiedenen .NET-Versionen verstehen wollen, Tims Erklärungen bieten einen wertvollen Fahrplan, um fundierte Entwicklungsentscheidungen zu treffen.
Weitere ausführliche Diskussionen und praktische Programmierbeispiele finden Sie auf dem YouTube-Kanal von Tim Corey, IAmTimCorey.

