Einführung in .NET 5 Vorschau 1

Ende letzten Jahres haben wir .NET Core 3.0 und 3.1 veröffentlicht. In diesen Versionen wurden Windows Forms (WinForms) und WPF, ASP.NET Blazor-Desktopanwendungsmodelle zum Erstellen von Anwendungen mit nur einer Seite und gRPC für vertragsbasiertes plattformübergreifendes Messaging hinzugefügt. Wir haben auch Vorlagen zum Erstellen von Diensten, die coole Generierung von Client-Code für die Kommunikation mit gRPC, REST-API-Diensten und vieles mehr hinzugefügt. Wir freuen uns, dass .NET Core 3 die am schnellsten akzeptierte Version von .NET geworden ist und wir im letzten Jahr eine weitere Million Benutzer haben.

Wir haben auch an diesen Versionen gearbeitet, um die Migration von Anwendungsmodellen aus .NET Framework abzuschließen. In .NET Core 3 haben wir alle am häufigsten verwendeten Anwendungsmodelle migriert und neue plattformübergreifende Infrastrukturen anstelle der nicht portierten eingeführt.

In Erwartung der nächsten Hauptversion von .NET 5 werden wir .NET weiterhin in eine einzige Plattform integrieren, indem wir unser mobiles .NET-Anwendungsmodell (Xamarin) in .NET 5 aufnehmen. .NET 5 wird ASP.NET Core, Entity Framework Core, WinForms, WPF, Xamarin und ML.NET. Zum ersten Mal verwendet die gesamte Plattform eine einheitliche BCL (Basisklassenbibliothek) für alle Anwendungsmodelle. Das Vorhandensein von Version 5, die höher ist als die von .NET Core und .NET Framework, macht auch deutlich, dass .NET 5 die Zukunft von .NET ist, einer einzigen einheitlichen Plattform zum Erstellen aller Arten von Anwendungen.

Wir haben das schon oft gesagt, aber wir werden es noch einmal wiederholen. .NET Core und dann .NET 5 ist .NET, mit dem Sie alle Ihre neuen Anwendungen erstellen sollten. Das .NET Framework wird unterstützt, solange Windows selbst unterstützt wird. Wir werden weiterhin Sicherheit bieten und Fehler beheben sowie die Netzwerk- und Krypto-APIs aktualisieren. Es bleibt sicher und wird unterstützt, um Ihre älteren Anwendungen auf .NET Framework auszuführen.



Installieren Sie .NET 5.0 Preview 1


Heute veröffentlichen wir die erste Preview .NET 5, deren vollständige Veröffentlichung für Ende dieses Jahres im November geplant ist.


Lesen Sie die ASP.NET Core-Updates in .NET 5 Preview 1 , um mehr über die heutige Version von ASP.NET Core zu erfahren.

Vorschau 1 unterstützt erstmals Windows ARM64. Die heutige Version enthält auch .NET Core zur Laufzeit. Wir erwarten, dass das SDK (ASP.NET-Kern, aber nicht WPF oder Windows Forms) in Vorschau 2 hinzugefügt wird. Spätere Vorschauen enthalten WPF und Windows Forms. Die Unterstützung für Windows ARM64 wird auch auf .NET Core 3.1 portiert. Wir werden weitere Details dazu in einem Beitrag über Vorschau 2 veröffentlichen.

Bestehende Projekte aktualisieren


Sie können vorhandene Projekte aktualisieren, indem Sie die Zielplattform wie folgt aktualisieren:

<TargetFramework>netcoreapp5.0</TargetFramework>

Top-Ziele .NET 5


  • Unified .NET SDK-Erfahrung:
    • BCL ( ) .NET 5. Xamarin Mono BCL, .NET Core BCL, .
    • (Xamarin) .NET 5. , .NET SDK mobile. , «dotnet new XamarinForms» .
  • , : « », , , Window Desktop, Microsoft Duo (Android) iOS, , .
  • Webanwendungen, die mehrere Plattformen unterstützen: Ein Blazor-Projekt, das eine Anwendung unterstützt, die in Browsern, auf Mobilgeräten und als native Desktopanwendung (z. B. Windows 10x) ausgeführt werden kann.
  • Native Cloud-Anwendungen: Hochleistungs-Microservices mit einer einzigen Datei (.exe) <50 MB und Unterstützung für die Erstellung mehrerer Projekte (APIs, Webschnittstellen, Container) sowohl lokal als auch in der Cloud.
  • Kontinuierliche Verbesserungen, wie z. B. Beschleunigung von Algorithmen in BCL, Verbesserungen der Containerunterstützung zur Laufzeit, Unterstützung für HTTP3.

Vorschau 1 enthält noch nicht die Ergebnisse all dieser Ziele, wir werden jedoch in zukünftigen Vorschauen weitere Funktionen bekannt geben.

Verbesserungen in der Vorschau 1


Die folgenden Verbesserungen in Vorschau 1:

Leistungsverbesserungen bei regulären Ausdrücken


Wir haben stark in den Regex-Motor investiert. In vielen der von uns getesteten Ausdrücke führen diese Verbesserungen normalerweise zu einer 3-6-mal höheren Produktivität und in einigen Fällen zu viel mehr. In Kürze werden wir einen Blog-Beitrag veröffentlichen, in dem diese Verbesserungen ausführlicher beschrieben werden.

Verbesserung der Codequalität in RyuJIT


Jede Version enthält eine Reihe von Leistungsverbesserungen für den von JIT generierten Code. Wir nennen diese Art der Verbesserung "CQ" oder Codequalität. In den meisten Fällen gelten diese Verbesserungen auch für Code, der für sofort einsatzbereite Images erstellt wurde.


event pipe


Wir haben Informationen zum Laden der Baugruppe in die Ereignisleitung hinzugefügt. Diese Verbesserung ist der Beginn der Verfügbarkeit ähnlicher Diagnosefunktionen, die Teil von .NET Framework mit dem  Fusion Log Viewer sind . Jetzt können Sie  Dotnet-Trace verwenden  , um diese Informationen mit dem folgenden Befehl zu erfassen:

dotnet-trace collect --providers Microsoft-Windows-DotNETRuntime:4:4 --process-id [process ID]

Der Workflow wird im Abschnitt Laden der Trace-Baugruppe mit Ereignisleitung beschrieben . Sie können Informationen zum Laden von Baugruppen für eine einfache Testanwendung anzeigen.



Event Profiling API (Event Pipe)


Event Pipe ist ein neues Subsystem und eine neue API, die wir zu .NET Core 2.2 hinzugefügt haben, um die Ausführung von Leistungsdiagnosen und anderen in jedem Betriebssystem zu ermöglichen. In .NET 5.0 wurde die Ereignisleitung erweitert, sodass Profiler Ereignisleitungsereignisse aufzeichnen können. Dieses Szenario ist wichtig für Profiler-Tools, die zuvor ETW zur Überwachung des Anwendungsverhaltens und der Anwendungsleistung verwendet haben.

GitHub Repository-Konsolidierung


Im Rahmen der .NET 5-Version haben wir  die Anzahl der Repositorys auf GitHub reduziert , die zum Erstellen und Packen von .NET verwendet wurden. Repository-Grenzen haben erhebliche Auswirkungen auf viele Aspekte eines Projekts, einschließlich Assembly und Problemmanagement. Mit .NET Core 1.0 hatten wir über 100 Repositorys in ASP.NET, EF und .NET Core. Jetzt hat sich alles geändert. Wir haben auch fast alle Repositorys auf dotnet org migriert.

Schauen Sie sich die neuen, konsolidierten Repositorys an:


All Articles