Microsoft: .NET 7 verbessert Kommandozeile und Performance

Im knappen Monatsrhythmus veröffentlicht Microsoft Previews für das kommende .NET 7. Im Fokus stehen derzeit Startzeit, CLI und natives AOT-Kompilieren.

Artikel von Fabian Deitelhoff veröffentlicht am
.Net 7 soll die Leistung verbessern.
.Net 7 soll die Leistung verbessern. (Bild: Pixabay/Montage: Golem.de)

Die .NET-Welt dreht sich aktuell sehr schnell. Der Support für .NET 5 endet bereits am 8. Mai 2022, da es sich bei dieser Version um ein sogenanntes Current Release handelt. .NET 6 bekommt als LTS-Release (Long Term Support) noch Unterstützung bis Anfang November 2024. Mittendrin veröffentlicht Microsoft fleißig Preview-Versionen von .NET 7, ebenfalls ein Current Release. Damit bekommt diese Version aber auch nur 18 Monate Support und Patches ab dem Veröffentlichungsdatum.

Inhalt:
  1. Microsoft: .NET 7 verbessert Kommandozeile und Performance
  2. .NET 7 - Die nächste Evolution?

Das führt gefühlt zu vielen Änderungen beim .NET Framework. Jedes Preview beinhaltet viele kleine und große Anpassungen in der Breite, mit jeweils etwas anderen Schwerpunkten im Detail. Preview 2 legt den Fokus auf das .NET CLI, während sich Preview 3 auf die Startzeit fokussiert.

Updates in der zweiten und dritten Preview

Gegenüber der ersten Preview liegt der Schwerpunkt der Anpassungen in der zweiten Vorabversion auf neuen Möglichkeiten für reguläre Ausdrücke, Anpassungen bei der Code-Generierung, bei einem NativeAOT genannten Feature und bei der .NET CLI.

Die erweiterten Möglichkeiten bei den regulären Ausdrücken beziehen sich primär auf den neuen Regex Source Generator. Dieser bietet die Vorteile bei der Performance, ohne die Kosten beim Starten der spezialisierten Engine zu haben. Zudem werden gute Debugging-Möglichkeiten geboten.

Stellenmarkt
  1. Mitarbeiter*in (m/w/d) Zeitmanagement
    Universitätsmedizin der Johannes Gutenberg-Universität Mainz, Mainz
  2. Chef-Architekt (m/w/d) für Software-Produktneuentwicklu- ng in der Sensortechnik
    mi.ro Personalberatung, Stuttgart
Detailsuche

Der neue Generator bietet Vorteile, wenn das Regex-Muster zum Zeitpunkt des Kompilierens bekannt ist. Diese Neuerungen lassen sich nutzen, wenn der reguläre Ausdruck als partieller Typ hinterlegt und mit dem RegexGenerator-Attribut ausgestattet wird. Diese partielle Methode, die wir auf diese Weise definieren und annotieren, wird vom Generator automatisch auf Basis unseres Musters implementiert.

Die Methode können wir in unserem eigenen Code nutzen, um auf das Muster beziehungsweise die Ergebnisse zuzugreifen. Hier ein kurzes Beispiel:

  1. public partial class GolemRegex
  2. {
  3. [RegexGenerator(@"golem|regex", RegexOptions.IgnoreCase)]
  4. public static partial Regex OurGolemRegex();
  5.  
  6. public bool GolemMatches(string input)
  7. {
  8. bool isMatch = OurGolemRegex().IsMatch(input);
  9.  
  10. // ..
  11. }
  12. }

Die Klasse ist als partial deklariert, ebenso wie die Methode, die über das RegexGenerator-Attribut annotiert wird. In der Methode mit der Businesslogik kann auf die Ergebnisse des Musters zugegriffen werden. Die Implementierung der partiellen Methode wird durch den Generator automatisch aktualisiert, wenn wir das Muster anpassen oder andere Regex-Optionen übergeben.

C# und .NET 6 - Grundlagen, Profiwissen und Rezepte

Auf diese Weise bekommen wir eine kompilierte Regex-Engine, abgestimmt auf unser Muster, ohne diese Engine erst zur Laufzeit erzeugen zu müssen, was auf die Performance geht. Der neue Generator führt alle Schritte bereits beim Kompilieren durch.

Zudem gab es etliche Anpassungen beim Command Line Interface (CLI) für .NET. Das Kommando dotnet new hat eine konsistentere und intuitivere Schnittstelle bekommen, um die Nutzung der Unter-Kommandos zu vereinfachen. Darüber hinaus ist das Feature, die Autovervollständigung durch Tab, deutlich verbessert und erweitert worden. Das betrifft insbesondere die Autovervollständigung für Template-Optionen und Argumente.

Des Weiteren ist das NativeAOT-Projekt, was für Ahead-of-time (AOT) steht, wie in der ersten Preview angekündigt, nicht mehr im experimentellen Status. Es befindet sich damit nicht mehr im experimentellen Repository des .NET Runtime Labs, sondern im offiziellen Repository der .NET Runtime.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
.NET 7 - Die nächste Evolution? 
  1. 1
  2. 2
  3.  


Aktuell auf der Startseite von Golem.de
Hollywood und das Internet
Sind wir schon drin?

Die neue Dokuserie Web of Make Believe taucht auf Netflix in die Untiefen des Internets ein. So realistisch hat Hollywood das Netz jahrzehntelang nicht thematisiert.
Von Peter Osteried

Hollywood und das Internet: Sind wir schon drin?
Artikel
  1. Datenpanne: IT-Mitarbeiter verliert USB-Stick mit Meldedaten einer Stadt
    Datenpanne
    IT-Mitarbeiter verliert USB-Stick mit Meldedaten einer Stadt

    Die Tasche mit dem USB-Stick wurde über in ihr ebenfalls enthaltene Smartphone geortet und gefunden.

  2. Logistik: Post will mit Solarschiff Pakete in Berlin verteilen
    Logistik
    Post will mit Solarschiff Pakete in Berlin verteilen

    Die Post will Pakettransporte von der Straße aufs Wasser verlagern. Das erste der Schiffe wird mit Solarstrom betrieben. In Zukunft sollen sie autonom fahren.

  3. Franziska Giffey: Deepfake von Klitschko täuscht Berlins Bürgermeisterin
    Franziska Giffey
    Deepfake von Klitschko täuscht Berlins Bürgermeisterin

    Berlins Regierende Bürgermeisterin Franziska Giffey (SPD) hat per Videokonferenz mit einem Deepfake von Vitali Klitschko gesprochen. Der Betrug flog auf.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • MSI 323CQRDE (WQHD, 165 Hz) 399€ • LG OLED 48C17LB 919€ • Samsung 980 PRO (PS5-komp.) 2 TB 234,45€ • Apple HomePod Mini 84€ • 16.000 Artikel günstiger bei Media Markt • MindStar (u. a. AMD Ryzen 7 5700G 239€, Samsung 970 EVO Plus 250 GB 39€ und Corsair Crystal 680X RGB 159€) [Werbung]
    •  /