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

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

[.NET Πυρήνας] [DotNet Εισαγωγή (2)]. Μεταγλώττιση και κυκλοφορία του NET Core

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 21/1/2019 5:10:26 μ.μ. | | | |
1. Εργαλείο διεπαφής γραμμής εντολών NET Core (CLI).
Καταργήθηκε project.json και αντικαταστάθηκε με ένα αρχείο .csproj, το οποίο χρησιμοποιήθηκε project.json ως αρχείο διαμόρφωσης έργου στον πρώιμο πυρήνα .NET και εκτιμάται ότι η Microsoft το κατάργησε αφού ανακάλυψε ορισμένα προβλήματα και το MSBuild εξακολουθούσε να χρησιμοποιείται ως εργαλείο μεταγλώττισης .net.

Το MSBuild παρουσιάζει:https://docs.microsoft.com/zh-cn ... sbuild?view=vs-2017

Όταν εκτελούμε μεταγλώττιση και δημιουργία VS, το VS απλώς μας βοηθά να καλέσουμε το εργαλείο MSBuild, πράγμα που σημαίνει ότι όταν μεταγλωττίζουμε το έργο .NET, δεν χρειάζεται να εγκαταστήσουμε καθόλου το εργαλείο VS.

Η εντολή του εργαλείου .NET Core CLI είναι η εξής:

Εργαλεία γραμμής εντολών .NET (2.1.301)
Χρήση: dotnet [επιλογές χρόνου εκτέλεσης] [διαδρομή προς εφαρμογή]
Χρήση: dotnet [sdk-options] [command] [arguments] [command-options]

path-to-application:
  Η διαδρομή προς την εφαρμογή .dll αρχείο που θα εκτελεστεί.

Εντολές SDK:
  new προετοιμάζει το έργο .NET.
  επαναφέρετε τις εξαρτήσεις που καθορίζονται στο έργο .NET.
  εκτελέστε και εκτελέστε αμέσως το έργο .NET.
  δημιουργία έργου .NET.
  publish δημοσιεύει ένα έργο .NET για ανάπτυξη (συμπεριλαμβανομένου του χρόνου εκτέλεσης).
  Η δοκιμή εκτελεί δοκιμές μονάδας χρησιμοποιώντας τον δρομέα δοκιμής που καθορίζεται στο έργο.
  πακέτο για να δημιουργήσετε ένα πακέτο NuGet.
  μετεγκατάσταση έργων που βασίζονται σε project.json σε έργα που βασίζονται στο MSBuild.
  καθαρό καθαρό παραγόμενο αποτέλεσμα.
  SLN Modification Solution (SLN).
  προσθέστε στην αναφορά.
  Κατάργηση από το έργο.
  Καταγράψτε τα εργαλεία στα οποία αναφέρεται ή εγκαθίσταται το έργο.
  Το NuGet παρέχει πρόσθετες εντολές NuGet.
  Το msbuild εκτελεί το Microsoft Build Engine (MSBuild).
  Το vstest εκτελεί το εργαλείο γραμμής εντολών Microsoft Test Execution.
  Store αποθηκεύει την καθορισμένη συγκρότηση στο χώρο αποθήκευσης χρόνου εκτέλεσης.
  εργαλείο για την εγκατάσταση ή τη χρήση εργαλείων που επεκτείνουν την εμπειρία .NET.
  Το build-server αλληλεπιδρά με τον διακομιστή που εκκινείται από την έκδοση έκδοσης.
  Η βοήθεια δείχνει βοήθεια.

Κοινές επιλογές:
  -v|--verbosity ορίζει το επίπεδο λεπτομέρειας της εντολής. Οι επιτρεπόμενες τιμές είναι Q[UIET], M[inimal], N[Ormal], D[etailed] και diag[nostic].
  -h|--η βοήθεια δείχνει βοήθεια.

Εκτελέστε την εντολή dotnet --help για να λάβετε περισσότερες πληροφορίες σχετικά με την εντολή.

sdk-options:
  --version εμφανίζει την έκδοση του .NET Core SDK που χρησιμοποιείται.
  --info εμφανίζει πληροφορίες .NET Core.
  --list-sdks για να εμφανίσετε το εγκατεστημένο SDK.
  --list-runtimes εμφανίζει τον εγκατεστημένο χρόνο εκτέλεσης.
  -d|--diagnostics ενεργοποιεί την έξοδο διαγνωστικού ελέγχου.

runtime-options:
  --additionalprobingpath <path> Η διαδρομή που περιέχει την πολιτική του ανιχνευτή και τη συναρμολόγηση στον ανιχνευτή.
  --fx-version <version> έκδοση της εγκατεστημένης έκδοσης του κοινόχρηστου πλαισίου που θα χρησιμοποιηθεί για την εκτέλεση της εφαρμογής.
  --roll-forward-on-no-candidate-fx Το "No Roll Forward to Candidate Shared Framework" είναι ενεργοποιημένο.
  --additional-deps <path> στη διαδρομή προς άλλα αρχεία deps.json.

Πρόσθετα εργαλεία ('dotnet [tool-name] --help' για περισσότερες πληροφορίες):
  dev-certs Δημιουργήστε και διαχειριστείτε πιστοποιητικά ανάπτυξης.
  ef Entity Framework Βασικά εργαλεία γραμμής εντολών.
  sql-cache Εργαλεία γραμμής εντολών SQL Server cache.
  μυστικά χρήστη Διαχείριση μυστικών χρηστών ανάπτυξης.
  Παρακολουθήστε Ξεκινήστε ένα πρόγραμμα παρακολούθησης αρχείων που εκτελεί μια εντολή όταν αλλάζουν τα αρχεία.

2. Σύνταξη και κυκλοφορία


Δημοσιεύστε ένα έργο .NET για ανάπτυξη (συμπεριλαμβανομένου του χρόνου εκτέλεσης).
dotnet δημοσίευση


C:\project\dotnet\test1>dotnet publish --help
Χρήση: dotnet publish [επιλογές]

Επιλογές:
  -h, --help εμφανίζει πληροφορίες βοήθειας.
  -o, --output <OUTPUT_DIR> χρησιμοποιείται για την τοποθέτηση του καταλόγου εξόδου του δημοσιευμένου στοιχείου.
  -f, --framework <FRAMEWORK> Το πλαίσιο-στόχος που θα δημοσιευθεί. Το πλαίσιο-στόχος πρέπει να προσδιορίζεται στο έγγραφο του έργου.
  -r, --runtime <RUNTIME_IDENTIFIER> δημοσιεύστε το έργο για ένα δεδομένο χρόνο εκτέλεσης. Χρησιμοποιήστε το κατά τη δημιουργία αυτόνομων αναπτύξεων. Η προεπιλεγμένη ενέργεια είναι η δημοσίευση μιας εφαρμογής που εξαρτάται από το πλαίσιο.
  -c, --configuration <CONFIGURATION> χρησιμοποιείται για τη δημιουργία της διαμόρφωσης του έργου. Η προεπιλεγμένη τιμή για τα περισσότερα έργα είναι "Εντοπισμός σφαλμάτων".
  --version-suffix <VERSION_SUFFIX> ορίζει την τιμή της ιδιότητας $(VersionSuffix) στο έργο σας.
  --manifest <manifest.xml> Διαδρομή προς το αρχείο δήλωσης προορισμού που περιέχει μια λίστα πακέτων που θα εκτελεστούν μέσω του βήματος δημοσίευσης.
  --no-build μην δημιουργήσετε το έργο πριν από τη δημοσίευση. Υπονοεί --μη-επαναφορά.
  --Οι αυτόνομες συνοδευτικές εφαρμογές δημοσιεύουν χρόνους εκτέλεσης .NET Core, εξαλείφοντας την ανάγκη εγκατάστασης του χρόνου εκτέλεσης στο μηχάνημα-στόχο. Εάν έχει καθοριστεί ένα αναγνωριστικό χρόνου εκτέλεσης, η προεπιλογή είναι "true".
  --no-restore Μην εκτελείτε έμμεση επαναφορά κατά την εκτέλεση της εντολής.
  -v, --verbosity ορίζει το επίπεδο λεπτομέρειας της εντολής. Οι επιτρεπόμενες τιμές είναι Q[UIET], M[inimal], N[Ormal], D[etailed] και diag[nostic].
  --no-dependencies ορίζει αυτή τη σημαία ώστε να αγνοεί τις αναφορές από έργο σε έργο και να επαναφέρει μόνο το ριζικό έργο.
  --αναγκάστε να επιλύσετε όλες τις εξαρτήσεις, ακόμα κι αν η τελευταία επαναφορά ήταν επιτυχής. Αυτό ισοδυναμεί με διαγραφή project.assets.json.
Από την άποψη της εκτέλεσης, οι εντολές CLI λαμβάνουν τις παραμέτρους τους και κατασκευάζουν μια κλήση στο "αρχικό" MSBuild για να ορίσουν τις επιθυμητές ιδιότητες και τον επιθυμητό στόχο για εκτέλεση. Για να το δείξετε καλύτερα, ανατρέξτε στην ακόλουθη εντολή:


Αυτή η εντολή δημοσιεύει την εφαρμογή στο φάκελο pub χρησιμοποιώντας τη διαμόρφωση δημοσίευσης. Εσωτερικά, αυτή η εντολή μεταφράζεται στην ακόλουθη κλήση MSBuild:
Καθορίστε την πλατφόρμα-στόχο για την εφαρμογή σας


Δημιουργήστε μια ετικέτα στην ενότητα του αρχείου csproj (η οποία χρησιμοποιείται για τον ορισμό της πλατφόρμας προορισμού για την εφαρμογή σας) <PropertyGroup> <RuntimeIdentifiers> και, στη συνέχεια, καθορίστε το αναγνωριστικό χρόνου εκτέλεσης (RID) για κάθε πλατφόρμα προορισμού. Σημειώστε ότι τα ερωτηματικά απαιτούνται επίσης για τον διαχωρισμό των RID. Ελέγξτε τον Κατάλογο αναγνωριστικών χρόνου εκτέλεσης για μια λίστα αναγνωριστικών χρόνου εκτέλεσης.
Για παράδειγμα, η ακόλουθη <PropertyGroup> ενότητα υποδεικνύει ότι η εφαρμογή εκτελείται σε λειτουργικό σύστημα Windows 64 10 bit και έκδοση 64 bit OS X έκδοση 10.11 του λειτουργικού συστήματος.


Εάν θέλουμε να δημιουργήσουμε μόνο μια διανομή κάτω από την πλατφόρμα win10 x64, μπορούμε να εκτελέσουμε την ακόλουθη εντολή:

Φάκελος εξόδου: C:\project\dotnet\test1\bin\release\netcoreapp2.1\win10-x64\publish, ολόκληρος ο φάκελος έχει 66M, το οποίο είναι αρκετά μεγάλο, όπως φαίνεται στο παρακάτω σχήμα:



Δημιουργήστε το πακέτο έκδοσης στην πλατφόρμα centos.7-x64, υπάρχει 70M, το οποίο είναι επίσης αρκετά μεγάλο, ας προσπαθήσουμε να το δημοσιεύσουμε στο centos 7 για να το εκτελέσουμε (Το .NET Core SDK δεν είναι εγκατεστημένο σε συστήματα CentOS 7)。

Οι πληροφορίες του συστήματος είναι οι εξής:

[root@master ~]# uname -a
Linux master 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@master ~]# γάτα /etc/redhat-release
CentOS Linux έκδοση 7.6.1810 (Core)
Ανεβάζουμε το αρχείο στον κατάλογο temp και προσπαθούμε να εκτελέσουμε το αρχείο test1, το οποίο μπορεί να εξαχθεί κανονικά, ως εξής:

[root@master ~]# Θερμοκρασία MKDIR
[root@master ~]# cd temp/
[root@master θερμοκρασία]# ./δοκιμή1
-bash: ./test1: Δεν υπάρχουν αρκετά δικαιώματα
[root@master temp]# cd ..
[root@master ~]# chmod -R 777 temp/
[root@master ~]# cd temp/
[root@master θερμοκρασία]# ./δοκιμή1
Γεια σου κόσμε!
[root@master temp]# echo "http://www.itsvse.com"
http://www.itsvse.com
[root@master θερμοκρασία] #


3、. Αναγνωριστικό εκτέλεσης NET Core

.NET Core RID, RID είναι συντομογραφία του Runtime Identifier. Οι τιμές RID χρησιμοποιούνται για τον προσδιορισμό της πλατφόρμας-στόχου στην οποία εκτελείται η εφαρμογή. Τα πακέτα .NET τα χρησιμοποιούν για να αναπαραστήσουν στοιχεία για συγκεκριμένες πλατφόρμες σε πακέτα NuGet. Οι ακόλουθες τιμές είναι παραδείγματα RID: linux-x64, ubuntu.14.04-x64, win7-x64 ή osx.10.12-x64. Για πακέτα με εγγενείς εξαρτήσεις, το RID καθορίζει την πλατφόρμα στην οποία μπορεί να γίνει επαναφορά του πακέτου.

<RuntimeIdentifier> Μπορείτε να ορίσετε ένα RID στο στοιχείο του αρχείου έργου. Πολλαπλά RID μπορούν να οριστούν ως <RuntimeIdentifiers> μια λίστα (διαχωρισμένη με ερωτηματικά) στα στοιχεία ενός αρχείου έργου.

Τα RID που αντιπροσωπεύουν ένα συγκεκριμένο λειτουργικό σύστημα ακολουθούν συνήθως το ακόλουθο μοτίβο: [os]. [έκδοση]-[αρχιτεκτονική]-[πρόσθετα προσόντα], όπου:
  • [OS] είναι το όνομα συστήματος λειτουργικού συστήματος/πλατφόρμας. Για παράδειγμα, το ubuntu.
  • [version] είναι η έκδοση του λειτουργικού συστήματος, η οποία διαμορφώνεται με μια τελεία (.) αριθμός έκδοσης. Για παράδειγμα, 15.10. Οι εκδόσεις δεν πρέπει να είναι εκδόσεις μάρκετινγκ, καθώς συνήθως αντιπροσωπεύουν πολλές διακριτές εκδόσεις του λειτουργικού συστήματος με διαφορετικά περιφερειακά API πλατφόρμας.
  • [architecture] είναι η αρχιτεκτονική του επεξεργαστή. Για παράδειγμα: x86, x64, βραχίονας ή βραχίονας64.
  • [πρόσθετα προκριματικά] διαφοροποιούν περαιτέρω τις διαφορετικές πλατφόρμες. Για παράδειγμα AOT ή Corert.



Ειδική εισαγωγή:https://docs.microsoft.com/zh-cn/dotnet/core/rid-catalog

4、. Η NET Core δημιουργεί πακέτα NuGet

Για το .NET Standard και το .NET Core, όλες οι βιβλιοθήκες θα πρέπει να κυκλοφορούν ως πακέτα NuGet. Στην πραγματικότητα, έτσι δημοσιεύονται και χρησιμοποιούνται όλες οι τυπικές βιβλιοθήκες .NET. Αυτό μπορεί να επιτευχθεί εύκολα χρησιμοποιώντας την εντολή dotnet pack.



(Τέλος)




Προηγούμενος:Εκπαιδευτικό βίντεο για τις εξετάσεις της Εθνικής Δημόσιας Υπηρεσίας 2019
Επόμενος:Το Visual Studio 2017 προσθέτει το MSDN
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com