|
|
Δημοσιεύτηκε στις 2019-9-28 16:38:47
|
|
|
|

Πριν από λίγες ημέρες, η Microsoft κυκλοφόρησε το .NET Core 3.0 και μία από τις μεγαλύτερες βελτιώσεις είναι η υποστήριξη για εφαρμογές επιτραπέζιου υπολογιστή των Windows (μόνο για Windows). Χρησιμοποιώντας το .NET Core 3.0 SDK Windows Desktop Component, μπορείτε να μεταφέρετε τις εφαρμογές Windows Forms και Windows Presentation Foundation (WPF). Για να είμαστε σαφείς, τα στοιχεία επιφάνειας εργασίας των Windows υποστηρίζονται και περιλαμβάνονται μόνο στα Windows.
Διεύθυνση λήψης SDK:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Σύνδεσμοι για την εισαγωγή των δυνατοτήτων του .NET Core:
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Τα χαρακτηριστικά περιλαμβάνουν τα ακόλουθα:
- Χρησιμοποιήστε τη C# για να δημιουργήσετε πλούσιες, διαδραστικές εφαρμογές ιστού πελατών.
- Χρησιμοποιήστε το gRPC για να δημιουργήσετε υπηρεσίες υποστήριξης υψηλής απόδοσης.
- Το SignalR υποστηρίζει πλέον αυτόματη επανασύνδεση και ροές από πελάτη σε διακομιστή.
- Χρησιμοποιήστε την τεκμηρίωση του OpenAPI για να δημιουργήσετε κώδικα πελάτη με ισχυρή πληκτρολόγηση για Web API.
- Η δρομολόγηση τελικού σημείου ενσωματώνεται μέσω του πλαισίου.
- Το Kestrel έχει ενεργοποιημένο το HTTP/2 από προεπιλογή.
- Ενσωματωμένο web API και υποστήριξη ελέγχου ταυτότητας εφαρμογών μίας σελίδας.
- Υποστηρίζονται πιστοποιητικά και έλεγχος ταυτότητας Kerberos.
- Ενσωματώστε το νέο σειριοποιητή System.Text.Json.
- Η νέα καθολική φιλοξενία δημιουργεί κοινές διαχειριζόμενες υπηρεσίες, όπως έγχυση εξάρτησης, διαμόρφωση και καταγραφή.
- Ένα νέο πρότυπο Worker Service για τη δημιουργία μακροπρόθεσμων υπηρεσιών.
- Δημιουργούνται νέοι μετρητές συμβάντων για αιτήσεις ανά δευτερόλεπτο, συνολικές, τρέχουσες και αποτυχημένες αιτήσεις.
- Τα σφάλματα εκκίνησης που φιλοξενούνται στις υπηρεσίες IIS αναφέρονται πλέον στο αρχείο καταγραφής συμβάντων των Windows.
- Ζητήστε ενοποίηση αγωγών System.IO.Pipelines.
- Βελτιώσεις απόδοσης σε ολόκληρη τη στοίβα τεχνολογίας.
Ας δημιουργήσουμε ένα νέο έργο κονσόλας .NET Core 3.0 με το VS 2019, όπως φαίνεται στο παρακάτω σχήμα:
Αναφερόμενοι στο πακέτο Newtonsoft.Json, γράψτε μερικές γραμμές κώδικα, ως εξής:
Κάνουμε δεξί κλικ στο VS Regenerate και, στη συνέχεια, ανοίγουμε τον κατάλογο bin του έργου και διαπιστώνουμε ότι θα δημιουργηθούν πολλά αρχεία, συμπεριλαμβανομένων των αρχείων :demo1.exe και Newtonsoft.Json.dll.
Δημοσίευση εκτελέσιμου αρχείου ενός αρχείου
Μέθοδος 1:
Εκτελέστε την ακόλουθη εντολή στον κατάλογο του έργου:
Ανοίγουμε το φάκελο C:\Users\itsvse_pc\source\repos\demo1\demo1\bin\Debug\netcoreapp3.0\win10-x64 και θα διαπιστώσουμε ότι δημιουργούνται πολλά αρχεία dll και υπάρχει φάκελος δημοσίευσης.
Μεταβείτε στο φάκελο δημοσίευσης,Το μέγεθος του demo1.exe προβολής είναι 66M, το οποίο είναι το ίδιο μέγεθος με όλα τα αρχεία εκτός του φακέλου, όπως φαίνεται στο παρακάτω σχήμα:
Το μεμονωμένο εκτελέσιμο αρχείο που δημιουργείται περιέχει στην πραγματικότητα το περιβάλλον που απαιτείται για την εκτέλεση του προγράμματος και δεν απαιτεί από τον υπολογιστή-στόχο να εγκαταστήσει το SDK και το μειονέκτημα είναι ότι το μέγεθος του αρχείου θα γίνει πολύ μεγάλο.
Μέθοδος 2:
Κάντε δεξί κλικ έναντι επεξεργασίας του αρχείου έργου και προσθέστε τη διαμόρφωση του κόμβου PublishSingleFile, ο κώδικας έχει ως εξής:
Στη συνέχεια, κάντε δεξί κλικ και κάντε κλικ στο κουμπί "Δημοσίευση".
Σύνδεσμοι συναρμολόγησης
Το .NET core 3.0 SDK συνοδεύεται από ένα εργαλείο που μπορεί να μειώσει το μέγεθος της εφαρμογής σας αναλύοντας το IL και αποκόπτοντας αχρησιμοποίητα συγκροτήματα.
Οι αυτόνομες εφαρμογές περιλαμβάνουν όλα όσα χρειάζεστε για να εκτελέσετε κώδικα χωρίς να χρειάζεται να εγκαταστήσετε το .NET στον κύριο υπολογιστή σας. Ωστόσο, πολλές φορές η εφαρμογή χρειάζεται μόνο ένα κλάσμα του πλαισίου για να εκτελεστεί και άλλες αχρησιμοποίητες βιβλιοθήκες μπορούν να αφαιρεθούν.
Το .NET Core περιλαμβάνει τώρα μια ρύθμιση που σαρώνει το IL της εφαρμογής σας χρησιμοποιώντας το εργαλείο σύνδεσης IL. Αυτό το εργαλείο θα εντοπίσει ποιος κώδικας απαιτείται και στη συνέχεια θα αποκόψει τις αχρησιμοποίητες βιβλιοθήκες. Αυτό το εργαλείο μπορεί να μειώσει σημαντικά το μέγεθος ανάπτυξης ορισμένων εφαρμογών.
Για να ενεργοποιήσετε αυτό το εργαλείο, χρησιμοποιήστε τις <PublishTrimmed> ρυθμίσεις στο έργο σας και δημοσιεύστε μια αυτόνομη εφαρμογή:
.NET Core CLI
Μόλις δημιουργήσαμε ένα αρχείο 66M και αφού προσθέσαμε τη διαμόρφωση,Έγινε 35 εκατομμύρια, μειώνοντας την πληρότητα των 30 εκατομμυρίων。
Φροντίστε να λάβετε υπόψη εφαρμογές ή πλαίσια που χρησιμοποιούν αντανακλάσεις ή σχετικές δυναμικές λειτουργίες (συμπεριλαμβανομένων των ASP.NET Core και WPF)Συνήθως καταστρέφεται κατά την κοπή。 Αυτή η καταστροφή συμβαίνει επειδή ο σύνδεσμος δεν γνωρίζει αυτήν τη δυναμική συμπεριφορά και δεν μπορεί να προσδιορίσει ποιοι τύποι πλαισίων απαιτούνται για την αντανάκλαση。 Το εργαλείο σύνδεσης IL μπορεί να ρυθμιστεί ώστε να εντοπίζει αυτήν την κατάσταση.
Το πιο σημαντικό, φροντίστε να το εφαρμόσετε μετά την κοπήΔιεξαγωγή δοκιμών。
(Τέλος)
|
Προηγούμενος:Επίλυση ajax που δεν είναι σε θέση να εκχωρήσει τιμές σε εξωτερικές μεταβλητέςΕπόμενος:Η γλώσσα C είναι τόσο ισχυρή, σε ποια γλώσσα είναι γραμμένη;
|