Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 28789|Απάντηση: 0

[Πηγή] Η διαφορά μεταξύ .NET Core και .NET Standard

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 12/11/2019 10:25:55 π.μ. | | | |
Το .NET Standard είναι ένα επίσημο σύνολοΠροδιαγραφή .NET API, αναμένεται να είναι διαθέσιμο σε όλες τις υλοποιήσεις .NET. Το κίνητρο πίσω από την εισαγωγή του .NET Standard ήταν η βελτίωση της συνέπειας στο οικοσύστημα .NET. Το ECMA 335 συνεχίζει να καθιερώνει ομοιομορφία για τη συμπεριφορά υλοποίησης του .NET, αλλά δεν υπάρχει παρόμοια προδιαγραφή για τις βιβλιοθήκες βασικής κλάσης .NET (BCL) για υλοποιήσεις βιβλιοθηκών .NET.

Το .NET Standard ενεργοποιεί τα ακόλουθα βασικά σενάρια:

  • Ορίστε ένα ενοποιημένο, ανεξάρτητο από τον φόρτο εργασίας σύνολο API BCL για όλες τις υλοποιήσεις .NET που θέλετε να υλοποιήσετε.
  • Επιτρέπει στους προγραμματιστές να δημιουργήσουν φορητές βιβλιοθήκες που μπορούν να χρησιμοποιηθούν σε διάφορες υλοποιήσεις .NET μέσω του ίδιου συνόλου API.
  • Μειώνει ή ακόμα και εξαλείφει τη μεταγλώττιση υπό όρους κοινόχρηστου πηγαίου κώδικα για πτυχές .NET API (μόνο API λειτουργικού συστήματος).


Διάφορες υλοποιήσεις .NET στοχεύουν σε μια συγκεκριμένη έκδοση του .NET Standard. Κάθε υλοποίηση .NET ανακοινώνει την υψηλότερη έκδοση .NET Standard που υποστηρίζει, μια δήλωση που σημαίνει ότι υποστηρίζει και προηγούμενες εκδόσεις. Για παράδειγμα, το .NET Framework 4.6 υλοποιεί το .NET Standard 1.3. Δηλαδή, εκθέτει όλα τα API που ορίζονται στις εκδόσεις .NET Standard 1.0 έως 1.3. Ομοίως, το .NET Framework 4.6.1 υλοποιεί το .NET Standard 1.4, ενώ το .NET Core 1.0 υλοποιεί το .NET Standard 1.6.




Η σχέση μεταξύ των υλοποιήσεων .NET Standard και .NET είναι η ίδια με τη σχέση μεταξύ των προδιαγραφών HTML και των προγραμμάτων περιήγησης. Το δεύτερο είναι η πραγματοποίηση του πρώτου.

Επομένως, το .NET Framework, το Xamarin και το .NET Core, καθένα από τα διαχειριζόμενα πλαίσια υλοποιεί . Πρότυπο NET. Καθώς η βιομηχανία υπολογιστών συνεχίζει να εισάγει νέο υλικό και λειτουργικά συστήματα, νέα θα εμφανιστούν στο μέλλον. Πλαίσιο φιλοξενίας .NET. Το πρότυπο επιτρέπει στους προγραμματιστές εφαρμογών να γνωρίζουν ότι μπορούν να βασίζονται σε ένα συνεπές σύνολο API.

Καθε. Οι εκδόσεις .NET αντιστοιχούν σε μια έκδοση .NET Standard.

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

Το .NET Standard ορίζεται ως ξεχωριστό πακέτο NuGet, επειδή όλα τα αρχεία . Οι υλοποιήσεις .NET πρέπει να υποστηρίζονται


.NET Standard έναντι φορητών βιβλιοθηκών

Το ίδιο δεν κάνει και η φορητή βιβλιοθήκη;

Οι φορητές χρησιμοποιούν κοινά API που υποστηρίζονται από πολλές πλατφόρμες. Ως αποτέλεσμα, όσο περισσότερες πλατφόρμες υποστηρίζονται, τόσο λιγότερα διαθέσιμα API και για έναν συγκεκριμένο συνδυασμό πλατφορμών, μπορεί να είναι δύσκολο να γνωρίζουμε ακριβώς ποια API υποστηρίζονται. Για μια νέα πλατφόρμα, το υπάρχον PCL πρέπει να μεταγλωττιστεί εκ νέου. Το PCL απαιτεί επίσης από τη Microsoft να δημιουργήσει ένα νέο πιρούνι υλοποίησης πλαισίου για κάθε πλατφόρμα.
Λόγω. Το NET Standard προσδιορίζει ένα API, όχι μια υλοποίηση, επομένως δεν χρειάζεται να μεταγλωττίσετε ξανά την εφαρμογή. Κάθε νέο αρχείο . Οι υλοποιήσεις .NET υλοποιούν τις απαραίτητες βιβλιοθήκες. Οι εφαρμογές δεν χρειάζεται να μεταγλωττιστούν εκ νέου για να εκτελεστούν σε νέες πλατφόρμες υλικού ή λειτουργικά συστήματα. Θεωρητικά, μια εξαίρεση NotSupportedException μπορεί να εντοπιστεί κατά την κλήση του API, αλλά αυτό θα πρέπει να είναι σπάνιο.


Υποστήριξη υλοποίησης .NET

Ο παρακάτω πίνακας παραθέτει τις ελάχιστες εκδόσεις πλατφόρμας που υποστηρίζουν κάθε έκδοση .NET Standard. Αυτό σημαίνει ότι οι νεότερες εκδόσεις των αναφερόμενων πλατφορμών υποστηρίζουν επίσης τις αντίστοιχες εκδόσεις .NET Standard. Για παράδειγμα, το .NET Core 2.2 υποστηρίζει .NET Standard 2.0 και παλαιότερες εκδόσεις.








Προηγούμενος:Οδηγός δέσμης ενεργειών Linux Shell (3η έκδοση)
Επόμενος:ASP.NET Η επαναφορά του Core 3.0 Nuget απέτυχε
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com