Microsoft gibt .NET Framework 4.8 frei
Das Release untersucht neuerdings alle Assemblys auf Malware und hat einen verbesseren JIT-Compiler an Bord.
Ein halbes Jahr nach der ersten Vorschauversion ist nun das endgültige Release von .NET Framework 4.8 erschienen. Die frische Version lässt sich auf Windows 10, Windows 8.1 und Windows 7 SP 1 installieren. Serverseitig arbeitet es auf allen Plattformen ab Windows Server 2008 R2 SP1. Die wichtigsten Neuerungen für das Windows Presentation Framework (WPF) unter anderem im Interesse einer verbesserten Zugänglichkeit hatte heise Developer bereits bei der Veröffentlichung der Vorschauversion im September 2018 vorgestellt.
JIT-Compiler und Sicherheit
Die Common Language Runtime (CLR) von .NET Framework 4.8 enthält nun einen überarbeiteten JIT-Compiler (Just in Time), der auf dem von .NET Core 2.1 aufbaut und der dessen Verbesserungen sowie Bugfixes mitbringt. Im Interesse einer erhöhten Sicherheit hat das Team die Speicherverwaltung für den Native Image Generator (NGEN) überarbeitet. NGEN-Images haben keine schreib- oder ausführbare Sektionen mehr. Das soll das Ausführen von beliebigem Code durch Veränderung des Speichers verhindern.
Als Schutz gegen Malware scannt die Laufzeitumgebung alle Assemblys mit Windows Defender oder der installierten Schutzsoftware von Drittanbietern. Der Vorgänger hat zwar auch regulär vom System geladene .NET-Assemblys untersucht, aber solche, die es unter anderem mit Assembly.Load(Byte[]) eingelesen hat, liefen unter dem Radar. .NET Framework 4.8 setzt für den Scan auf das Antimalware Scan Interface (AMSI).
Das Windows Communication Framework (WCF) bekommt ServiceHealthBehavior-Dienste, die auf dem Interface IServiceBehavior aufsetzen. Sie dienen als Endpunkte zum Testen des Zustands der Kommunikation. Wenn Entwickler sie zu ServiceDescription.Behaviors hinzufügen, ermöglichen sie die Abfrage des Zustands über HTTP-Response-Codes über einen definierbaren Query-String für eine HTTP/GET-Anfrage. Außerdem lassen sich über den Query-String ?health servicespezfische Parameter abfragen. Die darüber ermittelten Daten sind standardmäßig im HTML-Format. Durch das Erweitern des Query-Parameters um &Xml erfolgt die Ausgabe in XML.
Basisklassen fĂĽr Kryptographie und Komprimierung
Kryptografische Klassen wie SHA256Managed werfen nun keine Exception mehr, wenn die Kryptografie-Bibliotheken des Systems im FIPS-Mode (Federal Information Processing Standards) konfiguriert sind. Stattdessen leiten sie die Verarbeitung an die jeweiligen Systembibliotheken weiter. Hintergrund der Änderung ist, dass die Exceptions häufig nur auf Produktions-, aber nicht auf Entwicklersystemen auftreten, da Letztere üblicherweise nicht im FIPS-Mode konfiguriert sind. Bei den Basisklassen von .NET Framework ist zudem noch die aktualisierte ZLib-Version 1.2.11 als Basis zur Komprimierung nennenswert.
Weitere Details und Neuerungen wie die Verbesserungen für hochauflösende Bildschirme (High DPI) lassen sich der Ankündigung in der .NET-Dokumentation entnehmen. .NET Framework 4.8 ist in der Laufzeitvariante als Web- und Offline-Installationspaket verfügbar. Entwickler finden zudem das .NET 4.8 Developer Pack, das mit Visual Studio ab Variante 2012 zusammenarbeitet. (rme)