[MELDEN] Von der Vision zum Code: Ein Leitfaden zur Ausrichtung der Geschäftsstrategie auf die Ziele der Softwareentwicklung ist veröffentlicht!
HOL ES DIR HIER

.NET 6 — Hauptmerkmale und Vergleich von.NET 6 vs.NET 5

readtime
Last updated on
February 17, 2025

A QUICK SUMMARY – FOR THE BUSY ONES

.NET 6 auf den Punkt gebracht

.NET 6-Veröffentlichungsdatum:

.NET 6 kam am 9. November 2022 auf den Markt und bietet Leistungssteigerungen und native Unterstützung für Apple Silicon und Windows Arm64.

.NET 6 bemerkenswerte Funktionen:

  • C# 10-Sprachupdate: C# 10 bietet neue Funktionen wie die globale Verwendung von Direktiven und eine verbesserte Lambda-Syntax.
  • F# 6 und Visual Basic: F# 6 und Visual Basic erhalten Verbesserungen.
  • HTTP/3-Unterstützung: Zur Behebung von Problemen mit QUIC unterstützt .NET 6 HTTP/3 für eine verbesserte Leistung.
  • Cloud-Diagnose: .NET Monitor und OpenTelemetry verbessern die Diagnose von Cloud-Vorgängen.
  • Tools zur Paketvalidierung: Entwickler können die Codekonsistenz während der Paketentwicklung überprüfen.
  • Verbesserte Sicherheit: Erweiterte Sicherheitsfunktionen wie Bedrohungsmodellierung und CET sind integriert.
  • SDK-Arbeitslasten: SDK-Workloads ermöglichen die selektive Installation von SDKs für sauberere Projekte.

.NET 6-Leistungsverbesserungen:

.NET 6 überwindet Legacy-Probleme mit Verbesserungen wie Crossgen2 für nativen Code und FileStream-Verbesserungen.

.NET 6 Vergleich mit .NET 5:

.NET 6 baut auf.NET 5 auf, mit Unterschieden in den Programmiersprachen, der Plattformunterstützung, der IDE-Kompatibilität und der Dauer des Supports.

TABLE OF CONTENTS

.NET 6 — Hauptmerkmale und Vergleich von.NET 6 vs.NET 5

Einführung

Nach mehr als einem Jahr intensiver Entwicklungsarbeit des .NET-Teams ist .NET 6 seit November 2022 erhältlich. Vielen zufolge .NET-Entwickler, einschließlich uns hier bei Brainhub, war.NET 6 eine Revolution in einer Microsoft-Welt, da es viel schneller war als .NET 5. .NET 6 gilt als letzter Schritt in einer Vision der Vereinheitlichung von.NET-Dateien und vereinheitlicht das SDK, die Basisbibliotheken und die Runtime auf verschiedenen App-Plattformen.

Depiction of .NET 6 influence on the unification of the .NET platform.

In diesem Artikel konzentrieren wir uns auf einige allgemeine Details, damit Sie einen Überblick darüber erhalten, was vor sich geht. Schließlich hat .NET 5 im Mai 2022 seine Unterstützung verloren, was bedeutet, dass Sie eher früher als später auf .NET 6 migrieren müssen.

Was ist.NET 6?

.NET 6 ist eine kostenlose Open-Source-Entwicklungsplattform, die von Microsoft entwickelt wurde. Sie wurde im November 2022 veröffentlicht und ist Teil der .NET-Familie. Sie tritt die Nachfolge von.NET Core 3.1 und.NET 5 an. Als plattformübergreifendes Framework unterstützt es die Entwicklung und Bereitstellung von Anwendungen unter Windows, macOS und Linux.

.NET 6-Veröffentlichungsdatum

Nach sieben ausführlichen Vorschauen veröffentlichte Microsoft endlich die langzeitstabile Version .NET 6 am 9. November 2022. Es beinhaltet rund zehntausend Git-Commits. Dies ist die allererste Version, die Apple Silicon (Mac OS Arm 64) nativ unterstützt und Unterstützung für Windows Arm64 bietet.

Depiction of .NET 6 release timeline.

Laut einem von Microsoft veröffentlichten Bulletin bringt .NET 6 eine Reihe von hochkarätigen Funktionen sowie „massive“ Verbesserungen sowohl bei der Optimierung als auch bei der Leistung mit sich.

.NET 6 neue Funktionen

Bevor wir uns mit den einzelnen Funktionen dieses Frameworks befassen, ist es wichtig zu verstehen, dass es mit.NET 6 und darüber hinaus nur eine.NET geben wird, und es ist nur.NET.

Dies passt perfekt zu Microsofts langfristiger Vision, das nur für Windows erhältliche, proprietäre .NET Framework in ein entwicklungsübergreifendes Open-Source-Angebot für alle Arten von .NET-Projekten umzuwandeln (einschließlich der Kompatibilität mit .NET MAUI).

Allerdings gibt es mehrere neue Funktionen und Upgrades, die in der offiziellen .NET 6-Ankündigung erwähnt werden. Hier sind die herausragendsten:

Depiction of .NET 6 new features.

1. C# 10-Sprach-Update

.NET 6 bietet eine Menge neuer Funktionen für C#-Sprachen. Es setzt den Weg der Sprachvereinfachung fort, eine Vision, die mit C# 9 begann. Zu den Funktionen, die C# 10 hinzugefügt wurden, gehören:

  • globale Verwendung von Direktiven,
  • verbessertes #line -Pragma,
  • Strukturen aufzeichnen,
  • verbesserte Lambda-Syntax,
  • Verbesserung der Strukturtypen,
  • erweiterte Eigenschaftsmuster.

Darüber hinaus basieren die meisten .NET 6-Projektvorlagen auf C# 10-Änderungen. Die neuen Vorlagen sind viel übersichtlicher und einfacher als zuvor, sodass neue Entwickler leichter Programme schreiben können.

2. F# 6 und Visual Basic

F# 6, ein Upgrade auf Microsofts Open-Source-Programmiersprache mit mehreren Paradigmen, ist jetzt offiziell als Teil von.NET 6 verfügbar. Insbesondere fügt F# 6 der Sprache F# und der interaktiven Funktion F# mehrere Verbesserungen hinzu.

Was Visual Basic betrifft, so wurde es sowohl in der Visual Studio-Erfahrung als auch beim Start des Windows Forms-Projekts verbessert.

3. HTTP/3

.NET 6 unterstützt die neue Version von HTTP, nämlich HTTP/3. HTTP/3 löst das nur allzu bekannte Problem der Head-of-Line-Blockierung, das bei HTTP/2 auftritt, indem es ein neues zugrundeliegendes Verbindungsprotokoll namens QUIC verwendet.

QUIC verwendet UDP und verfügt über integriertes TLS, sodass Verbindungen schneller hergestellt werden können, da der TLS-Handshake als Teil der Verbindung erfolgt.

4. Cloud-Diagnose

.NET 6 reduziert Ihre Rechenkosten und verbessert die Leistung, wenn Sie in der Cloud arbeiten. Funktionen wie .NET Monitor und OpenTelemetry ermöglichen diese Funktionalität.

.NET-Monitor macht es einfach, Diagnosedaten aus dem.NET-Prozess zu sammeln. OpenTelemetry hingegen ermöglicht es Ihnen, das Verhalten und die Leistung Ihrer Software besser zu analysieren.

5. Tools zur Paketvalidierung

.NET 6 verfügt über eine Funktion zur Paketvalidierung, mit der Entwickler sicherstellen können, dass ihr Code während der Paketentwicklung wohlgeformt und konsistent ist.

Entwickler können jetzt ihr neuestes Projekt mit dem vorherigen und mit früheren Versionen des Frameworks und der Runtime vergleichen und validieren.

Vor diesem Hintergrund können Tools zur Paketvalidierung wirklich ein Segen für das gesamte .NET-Ökosystem sein. Da Sie kein Paket mehr erstellen, das nicht validiert ist, ist das .NET-Ökosystem viel sicherer.

6. Verbesserte Sicherheit

Sicherheit hat für die.NET-Plattform seit langem oberste Priorität, und dieses Mal ist .NET 6 mit allen erstklassigen Sicherheitsfunktionen ausgestattet, die Sie sich von einem Entwicklungsframework wünschen. Dazu gehören:

  • Bedrohungsmodellierung,
  • Technologie zur Durchsetzung des Kontrollflusses (CET),
  • „Ausführung ohne Schreibzugriff“ (W^X),
  • tiefgreifende Abwehr von Schadensbegrenzungen,
  • Kryptographie.

Unter Linux basieren alle Kryptografieoperationen auf OpenSSL, während dies unter Windows und macOS mit vom Betriebssystem bereitgestellten Funktionen möglich ist.

7. SDK-Arbeitslasten

SDK-Workloads wurden erstmals in Preview 4 von.NET 6 eingeführt. Mit dieser Funktion können Sie nur die SDKs installieren, die Sie möchten und benötigen, und nicht ein Komplettpaket. Einfach ausgedrückt, es ist nichts anderes als ein Paketmanager für SDKs.

.NET 6-Leistung

Im Laufe der Jahre hat sich das.NET-Framework zu einem sehr robusten System entwickelt. Aufgrund seiner langen Geschichte und Entwicklung war es jedoch im Laufe der Zeit mit erheblichen alten Abhängigkeiten und Kompromissen konfrontiert.

Eines der Hauptziele von.NET 6 war es, diese Einschränkungen zu überwinden und dem Framework dabei einen Neuanfang zu ermöglichen. eröffnet Entwicklern neue Horizonte — und das war bisher der Fall. Während wir sprechen, gibt es praktisch nichts, was Sie mit .NET 6 nicht tun können.

Hier sind ein paar bemerkenswerte Leistungsverbesserungen, die Sie in.NET 6 erwarten können:

Depiction of .NET 6 performance improvements.

1. Crossgen 2

Crossgen2 ist ein Tool, mit dem Sie eindeutigen, nativen Code in einem sofort einsatzbereiten Format generieren können.

Das Ready-to-Run-Format ist in erster Linie darauf ausgerichtet, assemblyübergreifend kompatibel zu sein und dieselbe Kompatibilitätsgarantie wie IL zu bieten, während es gleichzeitig die Leistungsvorteile von AHEAD-of-Time (AOT) kompiliertem Code bietet.

Anders ausgedrückt, Sie können eine einzige Build-Maschine verwenden, um nativen Code für alle Ziele zu generieren.

2. Dateistream

FileStream für.NET 6 verzögert sich kaum. Tatsächlich ist es dank einer fast vollständigen Neufassung viel schneller und zuverlässiger.

3. Profilgesteuerte Optimierung

Eine weitere große Verbesserung in.NET 6 war die Einführung der profilgesteuerten Optimierung (dynamisches PGO). Im Wesentlichen handelt es sich bei dynamischem PGO um eine JIT-Compiler-Optimierungstechnik, die es JIT ermöglicht, zusätzliche Informationen über die Umgebung (auch bekannt als Profil) im Tier0-Codegen zu sammeln, um sich später beim Aufstieg von Tier 1 auf Tier 2 für aktuelle Methoden darauf zu verlassen. Ziel ist es, die Methoden noch effizienter zu machen.

Insbesondere können Sie mit dynamischem PGO zwei Schlüsselbereiche optimieren:

  • Profilorientierter Inliner: Inliner stützt sich auf PGO-Daten und kann bei heißen Pfaden sehr aggressiv sein
  • Bewachte Devirtualisierung: Die meisten monomorphen virtuellen/Schnittstellenanrufe können mithilfe von PGO-Daten devirtualisiert werden.

Zusammengenommen führen diese Leistungsverbesserungen zu einer kürzeren Ausführungszeit für Ihren Code sowie zu einer niedrigen Latenz und einem geringen Speicherverbrauch. Es ist ein Bereich von.NET 6, den Sie sich leisten können, zu ignorieren.

Vergleich von.NET 5 und .NET 6

.NET 5 ist die natürliche Entwicklung und Weiterentwicklung der Frameworks .NET Core 3.1 und .NET 4.6.

Mit .NET 5 werden Ihr Code und Ihre Projektdateien gleich aussehen und sich auch so anfühlen, egal welche Art von App Sie erstellen.

.NET 5 weist zwar eine gewisse Ähnlichkeit mit dem.NET6 auf, doch unterscheiden sich die beiden Frameworks deutlich voneinander.

So geht's:

.NET 6 vs .NET 5 comparison table.

1. Programmiersprachen

.NET 5 enthält C #9 und F# 5, wohingegen .NET 6 C# 10 und C# 6 enthält.

2. Plattformen

Depiction of .NET 6 supported processors.

Sowohl .NET 5 als auch .NET 6 werden auf mehreren Betriebssystemen unterstützt, darunter Windows, Linux, Android, iOS /tvOS und macOS. Der einzige Unterschied besteht darin, dass .NET 6 unter Windows Arms64 und macOS Apple Silicon weiterhin unterstützt wird, wohin.NET 5 nicht unterstützt wird.

3. Integrierte Entwicklungsumgebung

.NET 5 funktioniert gut mit der aktualisierten Version 16.8 von Visual Studio 2019 oder einer der späteren Versionen.

Im Gegensatz dazu funktioniert .NET 6 nur mit Visual Studio 2022 und Visual Studio 2022 für MAC. Wenn Sie.NET 6 verwenden möchten, müssen Sie ein Upgrade auf Visual Studio 2022 durchführen (das jetzt ebenfalls 64-Bit ist).

4. Open Source

Sowohl .NET 5 als auch .NET 6 sind vollständig Open Source und völlig plattformübergreifend.

5. Unterstützung

.NET 5 wird am 8. Mai 2022 das Ende des Supports erreichen. Nach den Mai-Updates von.NET stellt Microsoft keine Wartungsupdates, einschließlich technischen Support und Sicherheitsupdates, für .NET 5 mehr zur Verfügung.

.NET 6 ist dagegen ein Framework für langfristigen Support (LTS), das drei Jahre lang unterstützt wird.

6. Geschwindigkeit

Während .NET 5 relativ schnell läuft, ist.NET 6 mit Abstand die schnellste aller existierenden.NET-Versionen. Die beiden sind in dieser Abteilung einfach unvergleichlich.

Sollte ich das.NET 6-Upgrade durchführen?

Definitiv! Insgesamt ist.NET 6 die weitaus bessere Wahl zwischen den beiden Frameworks. Es läuft schneller, produziert effizienteren Code und garantiert langfristigen Support.

Daher sollte ein Upgrade von .NET 5 auf .NET 6 keine Frage des Ob, sondern des Wann sein. Je früher Sie es tun, desto besser für Ihr Produkt.

<span class="colorbox1" fs-test-element="box1"><p>Interessiert an einem Upgrade auf.NET 6?</p><p>Überprüfen Sie die Liste von Top.NET-Entwicklungsanbieter und finde deine perfekte Passform.</p></span>

.NET 5 vs .NET 6 — detaillierter Vergleich

Leistungsverbesserungen

  • .NET 5: Konzentriert sich auf Leistungsverbesserungen für viele Komponenten, einschließlich JIT-Kompilierung (Just-In-Time), Garbage Collection und ASP.NET Core. Es wurden neue JSON-Serialisierungsoptionen, System.Text.Json-Verbesserungen und mehr eingeführt.
  • .NET 6: Fortsetzung der Leistungsverbesserungen von.NET 5 mit noch mehr Verbesserungen, insbesondere bei Datei-IO-Vorgängen, Sammlungen und LINQ. Außerdem wurden der JIT-Compiler und der gesamte Anwendungsdurchsatz deutlich verbessert.

Plattformübergreifende Entwicklung

  • .NET 5: Zielt darauf ab, die .NET-Plattform zu vereinheitlichen und eine einheitliche.NET-Runtime und ein Framework bereitzustellen, die für alle .NET-Anwendungstypen verwendet werden können und Windows, Linux und macOS unterstützen.
  • .NET 6: Die plattformübergreifenden Funktionen von.NET 5 wurden um weitere plattformspezifische Integrationen und Verbesserungen für die mobile Entwicklung (über MAUI) erweitert und die Unterstützung für Linux- und macOS-Umgebungen verbessert.

SDK- und Projektverbesserungen

  • .NET 5: Vereinfachte Projektdateien mit einem neuen, übersichtlicheren Format. Die Tooling-Unterstützung für C# 9.0-Funktionen wurde verbessert und die NuGet-Paketverwaltung wurde verbessert.
  • .NET 6: Hot Reload für .NET-Anwendungen wurde eingeführt, um die Produktivität der Entwickler zu steigern, indem Codeänderungen vorgenommen werden können, ohne dass die Anwendung neu gestartet werden muss. Verbesserte Minimal-APIs für saubereren und präziseren Code in ASP.NET Core-Projekten.

Frameworks und Bibliotheken

  • .NET 5: Einführung von C# 9.0 mit Datensätzen, reinen Init-Eigenschaften und Verbesserungen beim Mustervergleich. Verbessertes Blazor WebAssembly zum Erstellen interaktiver Web-Benutzeroberflächen mit C#.
  • .NET 6: C# 10 wurde eingeführt und globale Benutzerdirektiven, Datensatzstrukturen und Verbesserungen beim Musterabgleich hinzugefügt. Markteinführung von.NET MAUI (Multi-Platform App UI) als Weiterentwicklung von Xamarin.Forms, die auf die Entwicklung von Mobilgeräten und Desktops mit einer einzigen Codebasis abzielt.

Tools für die Entwicklung

  • .NET 5: Verbesserte Unterstützung für Visual Studio und Befehlszeilentools (CLI) für die .NET 5-Entwicklung, wobei der Schwerpunkt auf der Verbesserung der Build-Performance und der Debugging-Funktionen liegt.
  • .NET 6: Verbesserte Tooling-Unterstützung in Visual Studio 2022 mit besserer Leistung, Diagnose und der Einführung von.NET Hot Reload. Die CLI- und SDK-Tools wurden aktualisiert, um das Projektgerüst und die Entwicklung effizienter zu gestalten.

.NET 6 gegen .NET Core

Einfach ausgedrückt: .NET 6 ist die neueste Version von.NET Core. Sowohl .NET 6 als auch .NET Core erfüllen Microsofts Ziel, „künftig nur eine.NET“ zu haben.

Definitionsgemäß ist .NET Core im Grunde ein Open-Source-Framework für die Entwicklung von Windows, Webanwendungen, Diensten und mobilen Anwendungen, und es kann auf Mac, Windows und Linux ausgeführt werden. Es ist komplett von Grund auf neu geschrieben.

.NET Core 2.0 kam 2017 als plattformübergreifende Open-Source-Alternative zu .NET Framework auf den Markt. Es dauerte jedoch nicht lange, bis die Plattform ihren Flaggschiffnamen verlor.

In einem eher symbolischen Schritt ließ Microsoft den Spitznamen „Core“ drei Jahre später zugunsten von.NET 5, .NET 6 usw. fallen. Für viele verdeutlichte dieser Schritt Microsofts Wunsch, dass die kommenden Veröffentlichungen der gesamten .NET-Community ein neues Maß an Vereinheitlichung bieten.

Natürlich ist.NET 6 eine enorme Verbesserung gegenüber .NET Core 2.0 und allen anderen Versionen dazwischen. Es hat weitaus bessere Funktionen und reduziert die Menge an Boilerplate-Code erheblich Entwickler müssen schreiben, damit ihre Pakete zum Leben erweckt werden. In vielerlei Hinsicht überbrückt .NET 6 also die Kluft zwischen .NET Core und .NET Framework.

.NET 6 wird im laufenden Betrieb neu geladen

Verbesserte Feedback-Schleifen sind ein integraler Bestandteil der modernen Entwicklungsgeschichte. Verkürzte Zeiten zwischen einer Codeänderung und deren Auswirkung in der Ausgabe Ihrer Anwendung können Ihren Flow beeinflussen oder unterbrechen. Zum Glück wird sich das dank der Hot-Reload-Funktion .NET 6 bald ändern.

Hot Reload wurde erstmals in der Version .NET 6 Preview 3 eingeführt. Es ermöglicht Entwicklern, die Benutzeroberfläche zu ändern, während die Anwendung noch läuft.

Das bedeutet, dass Sie eine Vielzahl von Codeänderungen an einer laufenden Anwendung vornehmen können, und zwar erheblich Reduzieren Sie die Zeit, die Sie damit verbringen müssen, auf den Neustart und die Neuerstellung von Apps zu warten, oder navigieren Sie erneut zu derselben Stelle, an der Sie sich nach einer Codeänderung befanden.

In Bezug auf die Verfügbarkeit können Sie sowohl über Visual Studio 2022 als auch über das dotnet watch-CLI-Tool auf die Hot-Reload-Funktion zugreifen. Das Beste daran ist, dass Sie Hot Reload mit einer Vielzahl von App-Typen verwenden können, von Blazor über ASP.NET Core bis hin zu WinUI 3 und mehr.

Wenn Sie Visual Studio 2022 verwenden, starten Sie einfach Ihre.NET 6-App, nehmen Sie eine unterstützte Bearbeitung vor und verwenden Sie dann die neue Schaltfläche „Hot Reload“, um diese Änderungen anzuwenden. Alternativ können Sie die Änderungen beim Speichern über das Dropdownmenü auf derselben Schaltfläche anwenden.

Wenn Sie die CLI verwenden, ist der.NET 6-Hot-Reloading-Vorgang so ziemlich derselbe, nur dass Sie Ihre App diesmal mit Dotnet Watch und nicht direkt starten. Sobald dies erledigt ist, nehmen Sie alle unterstützten Änderungen vor. Nach dem Speichern der Datei werden Ihre Änderungen sofort übernommen (wie in Visual Studio Code).

Wenn die Änderungen zufällig nicht unterstützt werden, werden die Details im Befehlsfenster protokolliert.

Wie du siehst, ist.NET 6 Hot Reloading recht einfach und machbar — auch für Programmieranfänger.

<span class="colorbox1" fs-test-element="box1"><p>Benötigen Sie Hilfe bei der Entscheidung für das .NET 6-Upgrade?</p><p>Fühlen Sie sich frei kontaktiere uns heute und wir helfen Ihnen gerne weiter</p></span>

FAQ

Was ist.NET 6 Framework?

.NET 6 Framework ist eine reine Windows-Version von.NET 6 zum Erstellen von Apps aller Art, die unter Windows ausgeführt werden.

Ist .NET 6 verfügbar?

Ja. .NET 6 ist derzeit für Windows, macOS und Linux verfügbar. Klicken Sie auf dieser Link um .NET herunterzuladen.

Ist .NET 6 dasselbe wie .NET Core?

Ja. Unter der Haube sind die beiden im Grunde dasselbe. Der einzige Unterschied besteht darin, dass .NET 6 im Vergleich zu den Vorgängerversionen von.NET Core weitaus erweiterte Funktionen enthält.

Ersetzt .NET 6 .NET Core?

So ziemlich wird.NET 6 ein quelloffenes und plattformübergreifendes Framework, was bedeutet, dass es automatisch .NET Core und .NET Framework durch eine einzige, leistungsfähigere, einheitliche Plattform ersetzt.

Fazit

Da haben Sie es also — eine allgemeine Aufschlüsselung von.NET 6, Microsofts bisher kompetentestem .NET. Wenn Sie .NET Core oder .NET 5 verwenden, sollten Sie so schnell wie möglich ein Upgrade durchführen. Zum Glück ist der Migrationspfad ziemlich minimal.

Davon abgesehen ist eines sicher: Das gesamte .NET-Ökosystem wird von nun an nur noch besser werden. Wenn Sie den Sprung zu.NET 6 nicht schaffen, sperren Sie sich von einfacheren Workloads, schnelleren Laufzeiten, höherer Codeeffizienz und einem insgesamt angenehmeren Programmiererlebnis aus.

Frequently Asked Questions

No items found.

Our promise

Every year, Brainhub helps 750,000+ founders, leaders and software engineers make smart tech decisions. We earn that trust by openly sharing our insights based on practical software engineering experience.

Authors

Bianka Pluszczewska
github
Technischer Redakteur

Enthusiast für Softwareentwicklung mit 9 Jahren Berufserfahrung in dieser Branche.

Bianka Pluszczewska
github
Technischer Redakteur

Enthusiast für Softwareentwicklung mit 9 Jahren Berufserfahrung in dieser Branche.

Read next

No items found...