Προγραμματισμός

Τι νέο υπάρχει στο Microsoft .Net Framework 4.8

Η Microsoft κυκλοφόρησε το .Net Framework 4.8, την τελευταία έκδοση του πλαισίου ανάπτυξης εφαρμογών της εταιρείας για Windows. Η ενημέρωση φέρνει μια σειρά από διορθώσεις σφαλμάτων, ενημερώσεις κώδικα ασφαλείας και βελτιώσεις στο Common Language Runtime, ASP.Net, Windows Forms, Windows Presentation Foundation και Windows Communication Foundation.

Πού να κατεβάσετε .Net Framework 4.8

Μπορείτε να πραγματοποιήσετε λήψη της έκδοσης παραγωγής του .Net Framework από τον ιστότοπο .Net της Microsoft.

Τρέχουσα έκδοση: Οι νέες δυνατότητες στο .Net Framework 4.8

Κυκλοφόρησε στις 18 Απριλίου 2019, το .Net Framework 4.8 περιλαμβάνει τις ακόλουθες νέες δυνατότητες και βελτιώσεις:

  • Για το NGEN (Native Image Generator), οι εικόνες στο .Net Framework δεν έχουν πλέον εγγράψιμες και εκτελέσιμες ενότητες. Αυτό μειώνει την επιφάνεια που είναι διαθέσιμη σε επιθέσεις που επιχειρούν να εκτελέσουν αυθαίρετο κώδικα τροποποιώντας τις διευθύνσεις μνήμης NGEN.
  • Η σάρωση κατά του κακόβουλου λογισμικού ξεκινά τώρα για όλες τις συγκροτήσεις, είτε φορτώνονται από δίσκο είτε από δίκτυο. Προηγουμένως, ο χρόνος εκτέλεσης .Net ξεκίνησε μόνο σάρωση (από το Windows Defender και λογισμικό αντι-κακόβουλου λογισμικού τρίτου μέρους που εφαρμόζει το Antimalware Scan Interface) των συγκροτημάτων που φορτώθηκαν από δίσκο.
  • Ο μεταγλωττιστής .Net Framework 4.8 JIT βασίζεται στο .Net Core 2.1. Διορθώσεις σφαλμάτων και βελτιστοποιήσεις βάσει κώδικα από το .Net Core 2.1 είναι τώρα διαθέσιμες στο .Net Framework.
  • Στο BCL (βασική βιβλιοθήκη κλάσης), η βιβλιοθήκη εξωτερικής συμπίεσης Zlib έχει βελτιωθεί, ο αριθμός των οριστικοποιήσεων αντικειμένων που προκύπτουν ως αποτέλεσμα της χρήσης του X509Certificate2 και σχετικών τύπων έχει μειωθεί και έχει προστεθεί ένα API για τη λήψη αποτυπωμάτων με καλούντα- καθορισμένος αλγόριθμος σύνοψης.
  • Επιπλέον, το BCL στο .Net Framework 4.8 μειώνει τον αντίκτυπο FIPS (Federal Information Processing Standards) στην κρυπτογραφία. Από το .Net Framework 2.0, οι κλάσεις παρόχων κρυπτογράφησης έχουν δημιουργήσει μια εξαίρεση όταν οι κρυπτογραφικές βιβλιοθήκες έχουν ρυθμιστεί σε λειτουργία FIPS. Με το .Net 4.8, αυτές οι εξαιρέσεις δεν θα εμφανίζονται πλέον από προεπιλογή.
  • Προσφέρονται βελτιώσεις προσβασιμότητας για τις φόρμες των Windows, για τη βελτίωση της επικοινωνίας των δεδομένων εφαρμογής σε άτομα με προβλήματα όρασης.
  • Στο ASP.Net, επιλύθηκε ένα ζήτημα που περιλαμβάνει το χειρισμό κεφαλίδων HTTP πολλαπλών τιμών που ενδέχεται να επηρεάσουν την επεξεργασία δεδομένων πολλαπλών μερών.
  • Διορθώθηκαν ζητήματα CLR (Common Language Runtime) στα οποία εστάλησαν εσφαλμένες τιμές ως EventListeners.
  • Οι ενεργοποιημένες ετικέτες στις φόρμες των Windows αποδίδονται πλέον πάντα μέσω χρώματος κειμένου υψηλής αντίθεσης όταν είναι ενεργοποιημένη η λειτουργία υψηλής αντίθεσης. Αυτό επηρεάζει τις εφαρμογές που μεταγλωττίζονται στο στόχο .Net Framework 4.8.
  • Ο αλγόριθμος κατακερματισμού που χρησιμοποιείται για τη δημιουργία αθροίσεων αρχείων XOML κατά την κατασκευή έργων με αρχεία XOML έχει αλλάξει. Οι προγραμματιστές μπορούν ακόμα να χρησιμοποιήσουν τον προηγούμενο αλγόριθμο.
  • Ο αλγόριθμος κατακερματισμού για τον υπολογισμό κλειδιών σε εσωτερικές μνήμες cache έχει τροποποιηθεί. Οι προγραμματιστές μπορούν ακόμα να χρησιμοποιήσουν τον προηγούμενο αλγόριθμο.
  • Διορθώθηκε διαρροή μνήμης που επηρέασε το HttpWebRequest κατά την επικοινωνία με διακομιστή HTTPS μέσω διακομιστή μεσολάβησης.
  • Στο Windows Presentation Foundation, διορθώθηκε μια διαρροή μνήμης που προέκυψε κατά την κατάργηση στοιχείων δεδομένων από τις γονικές συλλογές όταν υπήρχε το UIAutomation.
  • Το Ίδρυμα παρουσίασης των Windows έχει προσθέσει υποστήριξη για την ευαισθητοποίηση ανά οθόνη V2 DPI και DPI μικτής λειτουργίας.
  • Στο Windows Communication Foundation, επιλύθηκε ένα πρόβλημα προσβασιμότητας που είχε προκαλέσει εσφαλμένα θέματα ελέγχου ComboBox σε θέματα υψηλής αντίθεσης.
  • Στο Windows Communication Foundation, το ServiceHealthBehavior εμφανίζεται ως συμπεριφορά υπηρεσίας που προστίθεται στη συλλογή ServiceDescription.Behaviors. Μπορεί να επιστρέψει την κατάσταση υγείας της υπηρεσίας με κωδικούς απόκρισης HTTP και να επιτρέψει τη δημοσίευση της υπηρεσίας υγείας.

Προηγούμενη έκδοση: Οι νέες δυνατότητες στο .Net Framework 4.7.2

Ήδη δημοφιλής σε τεχνολογίες όπως το Spring Framework, η εξάρτηση της εξάρτησης επιτρέπει σε ένα αντικείμενο να παρέχει εξαρτήσεις ενός άλλου αντικειμένου. Το .Net Framework 4.7.2 διευκολύνει τη χρήση αυτής της δυνατότητας σε φόρμες ιστού ASP.net. Υποστηρίζονται έγχυση ρυθμιστή, διασύνδεση και κατασκευαστής και μπορούν να συνδεθούν και άλλα πλαίσια έγχυσης εξάρτησης.

Άλλες νέες δυνατότητες στο .Net Framework 4.7.2 περιλαμβάνουν:

  • ο SameSite Η ιδιότητα προστίθεται στο πλαίσιο ιστού ASP.Net, για να υποστηρίξει ότι δεν πρέπει να αποστέλλεται cookie με αιτήματα μεταξύ ιστότοπων. Ο στόχος του SameSite Το χαρακτηριστικό είναι η μείωση της διαρροής πληροφοριών και η προστασία από επιθέσεις πλαστογραφίας μεταξύ ιστότοπων. Το ακίνητο προστίθεται στο HttpCookieType. Επίσης εμφανίζεται στα cookies FormsAuthentication και SessionState.
  • Για τη βελτίωση της ασφάλειας και της συμμόρφωσης, ο έλεγχος ταυτότητας Azure Active Directory υποστηρίζεται μέσω μιας διαδραστικής λέξης-κλειδιού ελέγχου ταυτότητας που προστίθεται στον έλεγχο ταυτότητας πολλών παραγόντων. Είναι μια επέκταση της συμβολοσειράς σύνδεσης SqlClient.
  • Τα API προστίθενται σε τυπικούς τύπους συλλογής, επιτρέποντας νέες λειτουργίες όπως οι κατασκευαστές HashSet που επιτρέπουν την κατασκευή HashSets με χωρητικότητα. Αυτό προσφέρει ένα όφελος απόδοσης όταν είναι γνωστό ποιο είναι το μέγεθος του HashSet.
  • Οι κρυπτογραφικές βελτιώσεις απλοποιούν τη δημιουργία αντικειμένων και κλήσεων RSA και DSA Εισαγωγή παραμέτρων.
  • Το Windows Presentation Foundation (WPF) πρόσθεσε το StaticResource δυνατότητα αναφορών επιτρέποντας σε έναν βοηθό διαγνωστικού ελέγχου να ειδοποιείται όταν α StaticResource η αναφορά έχει επιλυθεί. Για παράδειγμα, ένας βοηθός διαγνωστικών, όπως η δυνατότητα επεξεργασίας και συνέχισης του Visual Studio μπορεί να θέλει να ενημερώσει τις χρήσεις ενός πόρου όταν αλλάζει ή αντικαθιστά μια τιμή σε ένα λεξικό πόρων.
  • ο WorkflowDesignerColors η τάξη έχει προστεθεί για τη βελτίωση των εμπειριών διεπαφής χρήστη σε λειτουργία υψηλής αντίθεσης.
  • Μέσω της αποσυμπίεσης Zlib, η απόδοση έχει βελτιωθεί για την αποσυμπίεση των αρχείων Zip χρησιμοποιώντας μια εγγενή εφαρμογή του Zip.
  • Οι φόρτοι εργασίας του .Net Framework μπορούν τώρα να δημιουργήσουν αιτήματα υπογραφής πιστοποιητικών, επιτρέποντας τη δημιουργία αιτημάτων να οργανωθεί στα υπάρχοντα εργαλεία.
  • Προστέθηκε υποστήριξη ανά οθόνη για εφαρμογές Windows Presentation Foundation και εφαρμογές HDSTI VSTO (Visual Studio Tools for Office) που αναπτύχθηκαν χρησιμοποιώντας το ClickOnce.
  • Η υποστήριξη βελτιώνεται για το .Net Standard 2.0.
  • Οι διαγνωστικοί βοηθοί μπορούν να εντοπίσουν ResourceDabul που δημιουργήθηκαν από ένα δεδομένο URI πηγής.

Προηγούμενη έκδοση: Τι νέο υπάρχει στο .Net Framework 4.7.1

Με την κυκλοφορία της Microsoft .Net Framework 4.7.1 στα μέσα Οκτωβρίου 2017, η πλατφόρμα ανάπτυξης σημείωσε σημαντικές βελτιώσεις στη συλλογή απορριμμάτων, στην ασφάλεια και στη διαμόρφωση εφαρμογών.

Για την ενίσχυση της απόδοσης κατανομής μνήμης, ιδιαίτερα για εκχωρήσεις σωρού μεγάλου αντικειμένου, μια αρχιτεκτονική αλλαγή στον συλλέκτη απορριμμάτων χωρίζει την κατανομή σωρού σε μικρούς και μεγάλους σωρούς αντικειμένων. Οι εφαρμογές που κάνουν πολλές κατανομές σωρού αντικειμένων θα πρέπει να αντιμετωπίσουν μείωση στη διαμάχη κλειδώματος κατανομής και καλύτερη απόδοση.

Η ενημέρωση προσθέτει επίσης επιλογές ασφαλούς κατακερματισμού για έλεγχο ταυτότητας με φόρμες ASP.Net, συμπεριλαμβανομένου του SHA-2 (Secure Hash Algorithm), ο ισχυρότερος διάδοχος του SHA-1. Για συμβατότητα, το SHA-1 εξακολουθεί να είναι η προεπιλεγμένη επιλογή. Το SHA-2 υποστηρίζεται επίσης για το μήνυμα.HashAlgorithm, το οποίο καθορίζει τον αλγόριθμο κατακερματισμού που χρησιμοποιείται από την ουρά μηνυμάτων κατά τον έλεγχο ταυτότητας.

Νέοι κατασκευαστές διαμόρφωσης στο .Net 4.7.1 επιτρέπουν στους προγραμματιστές να εισάγουν και να δημιουργήσουν διαμόρφωση για εφαρμογές κατά το χρόνο εκτέλεσης. Τα δεδομένα διαμόρφωσης μπορούν να ληφθούν από πηγές πέρα ​​από το αρχείο config. σε προηγούμενες εκδόσεις του .Net, η διαμόρφωση είναι στατική. Μέσω των προγραμμάτων δημιουργίας διαμόρφωσης, οι εφαρμογές μπορούν να εφαρμόσουν ένα σύνολο κατασκευαστών που καθορίζεται ειδικά σε ένα τμήμα του config. Οι κατασκευαστές μπορούν να τροποποιήσουν τα δεδομένα διαμόρφωσης που περιέχονται σε μια ενότητα διαμόρφωσης ή να τα δημιουργήσουν από το μηδέν, αντλώντας ακόμη και νέα δεδομένα από πηγές εκτός από στατικά αρχεία.

Άλλα χαρακτηριστικά της αναβάθμισης περιλαμβάνουν:

  • Υποστήριξη για την προδιαγραφή .Net Standard 2.0, η οποία διαθέτει ένα σύνολο API που μοιράζονται πολλές εφαρμογές .Net.
  • Βελτιώσεις προσβασιμότητας σε WPF (Windows Presentation Foundation) και Windows Forms, συμπεριλαμβανομένων βελτιώσεων Υψηλής Αντίθεσης, βελτιωμένων προτύπων διεπαφής χρήστη και βελτιωμένων εμπειριών σε εργαλεία όπως ο Αφηγητής.
  • Υποστήριξη οπτικής διάγνωσης στο WPF, η οποία επιτρέπει τη χρήση εργαλείων για την ανάλυση οπτικών δέντρων XAML.
  • Υποστήριξη μεταγλωττιστή για ReadOnlyReferences στη γλώσσα C # 7.2, για μεταβίβαση μεταβλητών με αναφορά, αλλά χωρίς έκθεση δεδομένων σε τροποποιήσεις.
  • Ένα API ανίχνευσης δυνατοτήτων χρόνου εκτέλεσης για να προσδιορίσει εάν ο χρόνος εκτέλεσης υποστηρίζει μια συγκεκριμένη δυνατότητα.
  • Σειριοποιήσιμο SystemValueTuple τύπους, οι οποίοι θα διευκολύνουν τη μετάβαση απόΣύστημα. Διπλό στη νέα σύνταξη tuple σε C # 7.0 και Visual Basic 15.5.
  • Ένα API ASP.Net που παρέχει έναν τυποποιημένο τρόπο δημιουργίας ενός HttpCookie αντικείμενο από συμβολοσειρά και ιδιότητες cookie καταγραφής, όπως ημερομηνία και διαδρομή λήξης.
  • Ένα χαρακτηριστικό βήμα εκτέλεσης στο ASP.Net, που ονομάζεται ExecutionStepInvoker, το οποίο επιτρέπει στους προγραμματιστές να εκτελούν βήματα εκτέλεσης εντός του κώδικα τους, και όχι στον προκαθορισμένο αγωγό ASP.Net. Αυτή η δυνατότητα προορίζεται για βιβλιοθήκες που σχετίζονται με τη ροή εκτέλεσης εφαρμογών.