Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 23453|Risposta: 0

[.NET Core] [DotNet Introduzione (2)]. Compilazione e rilascio NET Core

[Copiato link]
Pubblicato su 21/01/2019 17:10:26 | | | |
1. Strumento di interfaccia da riga di comando (CLI) NET Core
Ha smesso project.json obsoleto e lo ha sostituito con un file .csproj, che project.json veniva utilizzato come file di configurazione di progetto nei primi nuclei .NET, e si stima che Microsoft lo abbia deprecato dopo aver scoperto alcuni problemi, mentre MSBuild fosse ancora usato come strumento di compilazione .net.

MSBuild presenta:https://docs.microsoft.com/zh-cn ... sbuild?view=vs-2017

Quando eseguiamo compilazione e generazione di VS, VS ci aiuta semplicemente a chiamare lo strumento MSBuild, il che significa che quando compiliamo il progetto .NET non abbiamo bisogno di installare affatto lo strumento VS.

Il comando dello strumento CLI .NET Core è il seguente:

Strumenti a riga di comando .NET (2.1.301)
Utilizzo: dotnet [opzioni runtime] [percorso verso l'applicazione]
Utilizzo: dotnet [sdk-options] [comando] [argomentazioni] [command-options]

path-to-application:
  Il percorso verso l'applicazione .dll file da eseguire.

Comandi SDK:
  new inizializza il progetto .NET.
  ripristinare le dipendenze specificate nel progetto .NET.
  esegui ed esegui immediatamente il progetto .NET.
  Costruire il progetto .NET.
  Pubblicare pubblica un progetto .NET per la distribuzione (incluso il runtime).
  I test eruono test unitari utilizzando il test runner specificato nel progetto.
  Un pacchetto per creare un pacchetto NuGet.
  migrare progetti basati su project.json in progetti basati su MSBuild.
  Output generato, pulito, pulito.
  File SLN Modification Solution (SLN).
  Aggiungi qualcosa al riferimento.
  Rimuovi dal progetto.
  Elenca gli strumenti a cui il progetto fa riferimento o installa.
  NuGet fornisce comandi NuGet aggiuntivi.
  msbuild esegue il Microsoft Build Engine (MSBuild).
  vstest esegue lo strumento di riga dei comandi Microsoft Test Execution.
  Lo store memorizza l'assembly specificato nello Runtime Store.
  strumento per installare o utilizzare strumenti che estendano l'esperienza .NET.
  Build-server interagisce con il server avviato dalla versione build.
  L'aiuto dimostra aiuto.

Opzioni comuni:
  -v|--la verbosità stabilisce il livello di dettaglio del comando. I valori consentiti sono Q[UIET], M[inimal], N[Ormal], D[etailed] e diag[nostic].
  -h|--aiuto dimostra aiuto.

Esegui il comando dotnet --help per ottenere più informazioni sul comando.

sdk-options:
  --versione mostra la versione dell'SDK .NET Core in uso.
  --info mostra le informazioni del .NET Core.
  --list-sdks per visualizzare l'SDK installato.
  --list-runtimes mostra il runtime installato.
  -d|--diagnostica abilita l'output diagnostico.

runtime-options:
  --additionalprobingpath <path> Il percorso contenente la politica della sonda e l'assemblaggio per la sonda.
  --versione FX <version> della versione installata del framework condiviso da utilizzare per eseguire l'applicazione.
  --roll-forward-on-no-candidate-fx "No Roll Forward to Candidate Shared Framework" è abilitato.
  --addizionali-deps <path> al percorso verso altri file deps.json.

Strumenti aggiuntivi ('dotnet [nome-strumento] --aiuto' per maggiori informazioni):
  Dev-certs Creare e gestire certificati di sviluppo.
  Strumenti di linea di comando core del ef Entity Framework.
  SQL cache, strumenti di riga di comando SQL Server.
  Segreti utente Gestire i segreti utente di sviluppo.
  guarda Start a file watcher che esegue un comando quando i file cambiano.

2. Compilation e pubblicazione


Pubblica un progetto .NET per la distribuzione (incluso il runtime).
dotnet pubblica


C:\project\dotnet\test1>dotnet publish --help
Utilizzo: dotnet publish [opzioni]

Opzioni:
  -h, --aiuto mostra le informazioni di aiuto.
  -o, --output <OUTPUT_DIR> viene usato per posizionare la directory di output dell'elemento pubblicato.
  -f, --framework <FRAMEWORK> Il framework obiettivo da pubblicare. Il framework target deve essere specificato nel documento di progetto.
  -r, --<RUNTIME_IDENTIFIER>runtime pubblica il progetto per una data runtime. Usa questo quando crei deployment autonomi. L'azione predefinita è pubblicare un'app che dipende dal framework.
  -c, --configurazione <CONFIGURATION> viene utilizzata per generare la configurazione del progetto. Il valore predefinito per la maggior parte dei progetti è "Debug".
  --suffisso <VERSION_SUFFIX> version-definisce il valore della proprietà $(VersionSuffisso) nel tuo progetto.
  --manifesta <manifest.xml> Path verso il file manifesto di destinazione contenente una lista di pacchetti da eseguire attraverso il passaggio di pubblicazione.
  --no-build non costruire il progetto prima della pubblicazione. Implica --no-restore.
  --applicazioni autonome che accompagnano pubblicano runtime .NET Core, eliminando la necessità di installare il runtime sulla macchina di destinazione. Se viene specificato un identificatore di runtime, di default è "true".
  --no-restore Non eseguire un ripristino implicito durante l'esecuzione del comando.
  -v, --verbosità stabilisce il livello di dettaglio del comando. I valori consentiti sono Q[UIET], M[inimal], N[Ormal], D[etailed] e diag[nostic].
  --no-dependencies imposta questo flag per ignorare i riferimenti progetto a progetto e ripristinare solo il progetto root.
  --forzare la risoluzione di tutte le dipendenze, anche se l'ultimo ripristino è stato riuscito. Questo equivale a cancellare project.assets.json.
Dal punto di vista dell'esecuzione, i comandi CLI prendono i loro parametri e costruiscono una chiamata al "MSBuild originale" per impostare le proprietà desiderate e il target desiderato da eseguire. Per illustrare meglio questo, si riferisce al seguente comando:


Questo comando pubblica l'applicazione nella cartella pub usando la configurazione Publi. Internamente, questo comando si traduce nella seguente chiamata MSBuild:
Definisci la piattaforma target per la tua applicazione


Crea un tag nella sezione del file csproj (che viene usato per definire la piattaforma di destinazione della tua app), <PropertyGroup> <RuntimeIdentifiers> e poi specifica l'identificatore di runtime (RID) per ciascuna piattaforma target. Si noti che i punti e virgola sono necessari anche per separare i RID. Controlla il Runtime Identifier Catalog per un elenco di identificatori a runtime.
Ad esempio, la <PropertyGroup> sezione seguente indica che l'app funziona su un sistema operativo Windows 10 a 64 bit e una versione OS X a 64 bit versione 10.11 del sistema operativo.


Se vogliamo generare una distribuzione solo al di sotto della piattaforma x64 di win10, possiamo eseguire il seguente comando:

Cartella di output: C:\project\dotnet\test1\bin\release\netcoreapp2.1\win10-x64\publish, l'intera cartella ha 66M, che è piuttosto grande, come mostrato nella figura sottostante:



Genera il pacchetto di release sotto la piattaforma centos.7-x64, ce n'è 70M, che è anch'esso piuttosto grande, proviamo a pubblicarlo su centos 7 per eseguirlo (L'SDK .NET Core non è installato sui sistemi CentOS 7)。

Le informazioni di sistema sono le seguenti:

[root@master ~]# uname -a
Linux master 3.10.0-862.el7.x86_64 #1 SMP ven 20 apr 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@master ~]# gatto /ecc/redhat-release
CentOS Linux versione 7.6.1810 (Core)
Carichiamo il file nella cartella temporanea e proviamo a eseguire il file test1, che può essere prodotto normalmente, come segue:

[root@master ~]# mkdir temp
[root@master ~]# CD tempora/
[root@master temp]# ./test1
-bash: ./test1: Non ci sono abbastanza permessi
[root@master temp] # CD ..
[root@master ~]# chmod -R 777 temp/
[root@master ~]# CD tempora/
[root@master temp]# ./test1
Salve, mondo!
[root@master temp]# eco "http://www.itsvse.com"
http://www.itsvse.com
[root@master temporanea] #


3、. NET Core Run Identifier

.NET Core RID, RID è l'abbreviazione di Runtime Identifier. I valori RID vengono utilizzati per identificare la piattaforma di destinazione su cui l'applicazione gira. I pacchetti .NET li utilizzano per rappresentare asset specifici della piattaforma nei pacchetti NuGet. I seguenti valori sono esempi di RID: linux-x64, ubuntu.14.04-x64, win7-x64 o osx.10.12-x64. Per i pacchetti con dipendenze native, il RID specifica la piattaforma su cui il pacchetto può essere ripristinato.

<RuntimeIdentifier> Puoi impostare un RID nell'elemento del file del progetto. Più RID possono essere definiti come una <RuntimeIdentifiers> lista (separata da punti e virgola) negli elementi di un file di progetto.

Gli RID che rappresentano un sistema operativo specifico tipicamente seguono il seguente schema: [os]. [versione]-[architettura]-[qualificatori aggiuntivi], dove:
  • [OS] è il nome del sistema operativo/sistema di piattaforma. Per esempio, Ubuntu.
  • [versione] è la versione del sistema operativo, formattata con un numero di versione a punto (.). Per esempio, 15.10. Le versioni non dovrebbero essere release di marketing, poiché tipicamente rappresentano più versioni separate del sistema operativo con periferiche API di piattaforma differenti.
  • [architettura] è l'architettura del processore. Per esempio: x86, x64, arm o arm64.
  • [ulteriori qualificati] Differenzia ulteriormente tra le diverse piattaforme. Ad esempio AOT o Corert.



Introduzione specifica:https://docs.microsoft.com/zh-cn/dotnet/core/rid-catalog

4、. NET Core crea pacchetti NuGet

Per .NET Standard e .NET Core, tutte le librerie dovrebbero essere rilasciate come pacchetti NuGet. In effetti, è così che vengono pubblicate e utilizzate tutte le librerie standard .NET. Questo può essere facilmente ottenuto usando il comando dotnet pack.



(Fine)




Precedente:Video tutorial per l'Esame Nazionale del Servizio Civile 2019
Prossimo:Visual Studio 2017 aggiunge MSDN
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com