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. Inhouse Consultant HR-IT Systems (m/w/d)
    ista International GmbH, Essen
  2. IT-Spezialist (m/w/d)
    nova-Institut für politische und ökologische Innovation GmbH, Hürth bei Köln
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
Halbleiterfertigung
Keine modernen Belichtungsmaschinen mehr für China

Maschinen für EUV-Belichtung darf ASML bereits nicht mehr nach China exportieren, auch der Zugang zu älteren DUV-Anlagen soll gekappt werden.

Halbleiterfertigung: Keine modernen Belichtungsmaschinen mehr für China
Artikel
  1. Games with Gold: Die Xbox-360-Neuauflagen sind alle
    Games with Gold
    Die Xbox-360-Neuauflagen sind alle

    Ab Oktober 2022 ist Schluss mit weiteren Xbox-360-Spielen in Spieleabos von Microsoft. Grund ist schlicht eine natürliche Grenze.

  2. 5G: Huawei und Ericsson erfreut über Sicherheitscheck des BSI
    5G
    Huawei und Ericsson erfreut über Sicherheitscheck des BSI

    Huawei betont, dass seine Produkte bereits nach ähnlichen Kriterien wie jetzt vom BSI auditiert wurden. Auch Ericsson will voll kooperieren.

  3. Kryptowinter: Auch Bitcoin-Minern droht die Zahlungsunfähigkeit
    Kryptowinter
    Auch Bitcoin-Minern droht die Zahlungsunfähigkeit

    Nicht nur Bitcoin-Verleiher gehen in der Krise pleite. Auch professionelle Krypto-Mining-Unternehmen kämpfen um ihre Liquidität.

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 • Red Friday: Mega-Rabatt-Aktion bei Media Markt • PS5 bestellbar • EVGA RTX 3090 günstig wie nie: 1.649€ • MindStar (MSI RTX 3060 429€, MSI 31,5“ WQHD 165Hz 369€) • Samsung QLED 85" günstig wie nie: 1.732,72€ • Alternate (Tower & CPU-Kühler) • Der beste 2.000€-Gaming-PC [Werbung]
    •  /