Was ist neu in Microsoft .Net Framework 4.8

Microsoft hat .Net Framework 4.8 veröffentlicht, die neueste Version des Anwendungsentwicklungsframeworks des Unternehmens für Windows. Das Update enthält eine Reihe von Fehlerkorrekturen, Sicherheitspatches und Verbesserungen für Common Language Runtime, ASP.Net, Windows Forms, Windows Presentation Foundation und Windows Communication Foundation. 

Wo kann man .Net Framework herunterladen? 4.8

Sie können die Produktionsversion von .Net Framework von der .NET-Site von Microsoft herunterladen. 

Aktuelle Version: Die neuen Funktionen in .Net Framework 4.8

.Net Framework 4.8 wurde am 18. April 2019 veröffentlicht und enthält die folgenden neuen Funktionen und Verbesserungen:

  • Für NGEN (Native Image Generator) haben Bilder im .Net Framework keine beschreibbaren und ausführbaren Abschnitte mehr. Dies reduziert die verfügbare Fläche für Angriffe, die versuchen, beliebigen Code auszuführen, indem NGEN-Speicheradressen geändert werden.
  • Das Anti-Malware-Scannen wird jetzt für alle Assemblys gestartet, unabhängig davon, ob sie von der Festplatte oder vom Netzwerk geladen wurden. Bisher wurden mit der .Net-Laufzeit nur Scans (von Windows Defender und Anti-Malware-Software von Drittanbietern, die die Antimalware-Scan-Schnittstelle implementieren) von Assemblys initiiert, die von der Festplatte geladen wurden. 
  • Der .NET Framework 4.8 JIT-Compiler basiert auf .Net Core 2.1. Fehlerkorrekturen und Optimierungen auf der Basis der Codegenerierung aus .Net Core 2.1 sind jetzt in .Net Framework verfügbar.
  • In der BCL (Basisklassenbibliothek) wurde die externe Zlib-Komprimierungsbibliothek verbessert, die Anzahl der Objektabschlüsse, die aufgrund der Verwendung von X509Certificate2 und verwandten Typen auftreten, wurde reduziert, und eine API wurde hinzugefügt, um Fingerabdrücke mit einem Aufrufer zu erhalten. spezifizierter Digest-Algorithmus.
  • Darüber hinaus reduziert die BCL in .Net Framework 4.8 die Auswirkungen von FIPS (Federal Information Processing Standards) auf die Kryptographie. Seit .NET Framework 2.0 haben kryptografische Anbieterklassen eine Ausnahme ausgelöst, wenn kryptografische Bibliotheken im FIPS-Modus konfiguriert werden. Mit .Net 4.8 werden diese Ausnahmen nicht mehr standardmäßig ausgelöst.
  • Für Windows Forms werden Verbesserungen der Barrierefreiheit angeboten, um die Kommunikation von Anwendungsdaten für Sehbehinderte zu verbessern.
  • In ASP.Net wurde ein Problem behoben, das die Behandlung von mehrwertigen HTTP-Headern betrifft, die sich auf die mehrteilige Datenverarbeitung auswirken können.
  • CLR-Probleme (Common Language Runtime) wurden behoben, bei denen falsche Werte als EventListener gesendet wurden.
  • Aktivierte Beschriftungen in Windows Forms werden jetzt immer über eine kontrastreiche Textfarbe gerendert, wenn ein kontrastreicher Modus aktiviert ist. Dies betrifft Anwendungen, die neu kompiliert wurden, um das .NET Framework 4.8 als Ziel festzulegen.
  • Der Hashing-Algorithmus zum Generieren von Prüfsummen für XOML-Dateien beim Erstellen von Projekten mit XOML-Dateien wurde geändert. Entwickler können weiterhin den vorherigen Algorithmus verwenden.
  • Der Hashing-Algorithmus zum Berechnen von Schlüsseln für interne Speichercaches wurde geändert. Entwickler können weiterhin den vorherigen Algorithmus verwenden.
  • Es wurde ein Speicherverlust behoben, der sich auf HttpWebRequest bei der Kommunikation mit einem HTTPS-Server über einen Proxy auswirkte.
  • In Windows Presentation Foundation wurde ein Speicherverlust behoben, der beim Entfernen von Datenelementen aus übergeordneten Sammlungen aufgetreten ist, als UIAutomation vorhanden war.
  • Windows Presentation Foundation bietet Unterstützung für Per-Monitor V2 DPI Awareness und Mixed-Mode DPI.
  • In Windows Communication Foundation wurde ein Problem mit der Barrierefreiheit behoben, durch das ComboBox-Steuerelemente in kontrastreichen Themen falsch thematisiert wurden.
  • In Windows Communication Foundation wird ServiceHealthBehavior als Dienstverhalten angezeigt, das der ServiceDescription.Behaviors-Auflistung hinzugefügt wurde. Es kann den Status des Dienstzustands mit HTTP-Antwortcodes zurückgeben und die Veröffentlichung des Zustands des Dienstes ermöglichen. 

Vorherige Version: Die neuen Funktionen in .Net Framework 4.7.2

Die Abhängigkeitsinjektion ist bereits in Technologien wie dem Spring Framework beliebt und ermöglicht es einem Objekt, Abhängigkeiten eines anderen Objekts bereitzustellen. .Net Framework 4.7.2 erleichtert die Verwendung dieser Funktion in ASP.net-Webformularen. Setter-, Interface- und Konstruktor-basierte Injection werden unterstützt, und andere Abhängigkeitsinjektions-Frameworks können angeschlossen werden.

Weitere neue Funktionen in .Net Framework 4.7.2 sind:

  • Die SameSiteEigenschaft wird dem ASP.Net-Webframework hinzugefügt, um sicherzustellen, dass ein Cookie nicht mit standortübergreifenden Anforderungen gesendet werden soll. Ziel des SameSiteAttributs ist es, Informationslecks zu reduzieren und vor standortübergreifenden Fälschungsangriffen zu schützen. Die Eigenschaft wird hinzugefügt HttpCookieType. Es ist auch in den Cookies FormsAuthentication und SessionState enthalten.
  • Um die Sicherheit und Compliance zu verbessern, wird die Azure Active Directory-Authentifizierung über ein interaktives Authentifizierungsschlüsselwort unterstützt, das der Multifaktorauthentifizierung hinzugefügt wird. Es ist eine Erweiterung der SqlClient-Verbindungszeichenfolge.
  • Standardauflistungstypen werden APIs hinzugefügt, die neue Funktionen wie HashSet-Konstruktoren ermöglichen, mit denen HashSets mit einer Kapazität erstellt werden können. Dies bietet einen Leistungsvorteil, wenn bekannt ist, wie groß das HashSet ist.
  • Kryptografische Verbesserungen vereinfachen das Erstellen von RSA- und DSA-Objekten und das Aufrufen ImportParameters.
  • Windows Presentation Foundation (WPF) hat die StaticResourceReferenzfunktion hinzugefügt, mit der ein Diagnoseassistent benachrichtigt werden kann, wenn eine StaticResourceReferenz aufgelöst wird. Beispielsweise möchte ein Diagnoseassistent wie die Funktion Bearbeiten und Fortfahren von Visual Studio möglicherweise die Verwendung einer Ressource aktualisieren, wenn sie sich ändert oder einen Wert in einem Ressourcenwörterbuch ersetzt.
  • Die WorkflowDesignerColorsKlasse wurde hinzugefügt, um die Benutzeroberflächenerfahrung im kontrastreichen Modus zu verbessern.
  • Durch die Zlib-Dekomprimierung wurde der Durchsatz zum Dekomprimieren von Zip-Archiven mithilfe einer nativen Implementierung von Zip verbessert.
  • .Net Framework-Workloads können jetzt Zertifikatsignierungsanforderungen generieren, sodass die Anforderungsgenerierung in vorhandenen Tools bereitgestellt werden kann.
  • Für Windows Presentation Foundation und HDPI-fähige VSTO-Anwendungen (Visual Studio Tools für Office), die mit ClickOnce bereitgestellt werden, wurde Unterstützung pro Monitor hinzugefügt.
  • Die Unterstützung für .Net Standard 2.0 wurde verbessert.
  • Diagnoseassistenten können ResourceDictionaries suchen, die aus einem bestimmten Quell-URI erstellt wurden.

Vorherige Version: Was ist neu in .Net Framework 4.7.1

Mit der Veröffentlichung von .Net Framework 4.7.1 durch Microsoft Mitte Oktober 2017 hat die Entwicklungsplattform wichtige Verbesserungen bei der Speicherbereinigung, Sicherheit und Anwendungskonfiguration erzielt. 

Um die Speicherzuweisungsleistung zu steigern, insbesondere bei Zuordnungen großer Objekt-Heaps, wird die Heap-Zuordnung durch eine Architekturänderung am Garbage Collector in kleine und große Objekt-Heaps aufgeteilt. Anwendungen, die viele große Objekt-Heap-Zuweisungen vornehmen, sollten eine Verringerung der Zuordnungssperrkonflikte und eine bessere Leistung erfahren.

Das Update fügt auch sichere Hash-Optionen für die ASP.Net-Formularauthentifizierung hinzu, einschließlich SHA-2 (Secure Hash Algorithm), dem stärkeren Nachfolger von SHA-1. Aus Kompatibilitätsgründen ist SHA-1 weiterhin die Standardoption. SHA-2 wird auch für Message.HashAlgorithm unterstützt, der den Hash-Algorithmus angibt, der von der Nachrichtenwarteschlange bei der Authentifizierung verwendet wird. 

Mit den neuen Konfigurations-Buildern in .Net 4.7.1 können Entwickler zur Laufzeit Konfigurationen für Anwendungen einfügen und erstellen. Die Konfigurationsdaten können aus Quellen stammen, die über die Konfigurationsdatei hinausgehen. In früheren Versionen von .Net ist die Konfiguration statisch. Über Konfigurations-Builder können Anwendungen einen benutzerdefinierten Satz von Buildern auf einen Abschnitt der Konfiguration anwenden. Builder können die in einem Konfigurationsabschnitt enthaltenen Konfigurationsdaten ändern oder von Grund auf neu erstellen und sogar neue Daten aus anderen Quellen als statischen Dateien zeichnen.

Weitere Funktionen des Upgrades sind:

  • Unterstützung für die .Net Standard 2.0-Spezifikation, die eine Reihe von APIs enthält, die von mehreren .Net-Implementierungen gemeinsam genutzt werden.
  • Verbesserungen der Barrierefreiheit in WPF (Windows Presentation Foundation) und Windows Forms, einschließlich kontrastreicher Verbesserungen, verbesserter Benutzeroberflächenmuster und verbesserter Erfahrungen mit Tools wie Narrator.
  • Unterstützung der visuellen Diagnose in WPF, die die Verwendung von Tools zur Analyse visueller XAML-Bäume ermöglicht.
  • Compiler-Unterstützung für ReadOnlyReferences in der Sprache C # 7.2 zum Übergeben von Variablen als Referenz, ohne dass Daten Änderungen ausgesetzt werden.
  • Eine API zur Erkennung von Laufzeitfunktionen, mit der ermittelt wird, ob eine Laufzeit eine bestimmte Funktion unterstützt.
  • Serialisierbare SystemValueTupleTypen, die die Migration System.Tuple auf die neue Tupelsyntax in C # 7.0 und Visual Basic 15.5 erleichtern sollen  .
  • Eine ASP.Net-API bietet eine standardisierte Möglichkeit, ein HttpCookieObjekt aus einer Zeichenfolge zu erstellen und Cookie-Eigenschaften wie Ablaufdatum und Pfad zu erfassen.
  • Eine Ausführungsschrittfunktion in ASP.Net, die aufgerufen ExecutionStepInvokerwird und es Entwicklern ermöglicht, Ausführungsschritte in ihrem Code und nicht in der vordefinierten Pipeline von ASP.Net auszuführen. Diese Funktion ist für Bibliotheken vorgesehen, die sich mit dem Ablauf der Anwendungsausführung befassen.