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. Senior Projektleiter ICT (m/w/d)
    operational services GmbH & Co. KG, Frankfurt am Main, Berlin, Dresden
  2. (Senior) SEO Manager (m/w/d)
    Lidl Digital, Neckarsulm
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
Google Fonts
Abmahnungen an Webseitenbetreiber mit Google-Schriftarten

Nach einer Entscheidung des Landgerichts München erhalten Webseitenbetreiber mit eingebundenen Google Fonts vermehrt Abmahnungen.

Google Fonts: Abmahnungen an Webseitenbetreiber mit Google-Schriftarten
Artikel
  1. Sportuhr: Garmin Enduro 2 bietet Langlaufakku und dynamisches GPS
    Sportuhr
    Garmin Enduro 2 bietet Langlaufakku und dynamisches GPS

    Die Enduro 2 ist eine Art Fenix 7X mit mehr Akku und neuer GPS-Technologie. Außerdem bietet die Sportuhr von Garmin nun Offlinekarten.

  2. Programmiersprache: JSON-Erfinder will Javascript in Rente schicken
    Programmiersprache
    JSON-Erfinder will Javascript in Rente schicken

    Douglas Crockford, der Erfinder des Datenformats JSON und Mitentwickler von Javascript, findet, dass die Sprache in Rente geschickt werden sollte.

  3. Gehalt in der IT-Branche: Verdienen treue Angestellte weniger als Wechsler?
    Gehalt in der IT-Branche
    Verdienen treue Angestellte weniger als Wechsler?

    Es gibt gute Gründe, lang bei einer Firma zu bleiben. Finanziell wird diese Treue aber eher nicht belohnt, sagt ein IT-Personalberater.
    Ein Interview von Peter Ilg

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 • Günstig wie nie: WD SSD 1TB m. Kühlkörper (PS5) 119,90€, MSI 29,5" 200 Hz 259€, LG QNED 75" 120 Hz 1.455,89€ • MindStar (XFX RX 6950 XT 999€, Gainward RTX 3070 559€) • Gigabyte Deals • Der beste Gaming-PC für 2.000€ • Apple Week bei Media Markt • be quiet! Deals [Werbung]
    •  /