Neuer C#-Compiler, besserer Garbage Collector und mehr

Details zu Microsoft .NET Core 3.0

| Redakteur: Stephan Augsten

Eine .NET-App mit WPF-Darstellung in der neuen Designer-Oberfläche.
Eine .NET-App mit WPF-Darstellung in der neuen Designer-Oberfläche. (Bild: Microsoft)

Microsoft hat einige Produkt-Updates für Entwickler bereitgestellt: .NET Core 3.0 ist als finales Release erhältlich. Compiler-seitig werden die neuen Versionen der Programmiersprachen C# 8.0 sowie F# 4.7 unterstützt.

Mit .NET Core 3.0 preist Microsoft einige Verbesserungen an, darunter neue JSON APIs, Windows Forms und Windows Presentation Foundation (WPF) sowie Unterstützung von ARM64-Architekturen. Enthalten ist auch der C#-Compiler in Version 3.3. Im gleichen Atemzug wurden auch Visual Studio 2019 16.3 und Visual Studio für Mac 8.3 bereitgestellt.

Die beiden Microsoft-IDEs müssen zwangsläufig aktualisiert werden, um .NET Core 3.0 mit Visual Studio zu verwenden. Nur so lassen sich auch Code nach den neuen C#- und F#-Spezifikationen kompilieren. .NET Core 3.0 ist mit früheren Versionen kompatibel, was die Aktualisierung vereinfacht. Im klassischen .NET Framework stehen einige neue Sprachfeatures hingegen nicht zur Verfügung.

Mit C# 8 kommen Async Streams, Range/Index, mehr Pattern und „Nullable“-Referenztypen hinzu. Entwickler können mit „Nullable“ Fehler im Code, die zu NullReferenceException führen, direkt ansprechen. F# 4.7 soll insbesondere die Arbeit mit impliziten Yield-Ausdrücken erleichtern und die Syntax vereinfachen.

.NET Standard 2.1 nicht mehr für das klassische .NET Framework angeboten, aber zumindest weiterhin gepflegt. So wurde die Anzahl der Typen für Code erhöht, der sowohl mit .NET Core als auch Xamarin verwendet werden kann. .NET Standard 2.1 enthält nun Typen ab .NET Core 2.1.

Die Core-Version 3.0 unterstützt nun auch Desktop-Anwendungen für Windows, sowohl mit Windows-Forms- als auch mit WPF-Darstellung. Der WPF-Designer ist Teil von Visual Studio 2019 16.3. Der Windows Forms Designer ist noch in der Preview-Phase, er steht als VSIX-Download zur Verfügung.

Standardmäßig besitzen .NET Core Apps nun ausführbare Dateien. In früheren Versionen mussten Apps über den Befehl dotnet gestartet werden, wie beispielsweise dotnet myapp.dll. Apps können nun je nach Betriebssystem mit einer App-spezifischen ausführbaren Datei wie myapp oder ./myapp gestartet werden.

Hinsichtlich der Leistung soll der Garbage Collector mit der neuen Core-Version teils deutlich weniger Speicherplatz verbrauchen. Dies ist von Vorteil, wenn viele Anwendungen auf demselben Server gehostet werden. Darüber hinaus wurde die Nutzung einer großen Anzahl von Prozessorkernen optimiert, wovon Computer mit über 64 Kernen profitieren sollen.

Damit .NET-Anwendungen auch in Container-Umgebungen zuverlässig und effizient laufen, wurde .NET Core außerdem für Docker gehärtet. Garbage Collector und Thread Pool wurden aktualisiert, um besser zu arbeiten, wenn ein Container für begrenzten Speicher oder CPU konfiguriert wurde. Docker-Images sind mit .NET Core 3.0 kleiner, insbesondere das SDK-Abbild.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46153610 / Frameworks)