Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 23453|Svare: 0

[.NET Core] [DotNet-introduksjon (2)]. NET Core-samling og utgivelse

[Kopier lenke]
Publisert på 21.01.2019 17:10:26 | | | |
1. NET Core kommandolinjegrensesnitt (CLI) verktøy
Foreldet project.json og erstattet den med en .csproj-fil, som project.json ble brukt som prosjektkonfigurasjonsfil i den tidlige .NET-kjernen, og det anslås at Microsoft foreldet den etter å ha oppdaget noen problemer, og MSBuild ble fortsatt brukt som et .net-kompilasjonsverktøy.

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

Når vi utfører VS-kompilering og generering, hjelper VS oss bare med å kalle MSBuild-verktøyet, noe som betyr at når vi kompilerer .NET-prosjektet, trenger vi ikke installere VS-verktøyet i det hele tatt.

.NET Core CLI-verktøykommandoen er som følger:

.NET kommandolinjeverktøy (2.1.301)
Bruk: dotnet [runtime-options] [path-to-application]
Bruk: dotnet [sdk-options] [kommando] [argumenter] [kommando-alternativer]

path-to-application:
  Veien til applikasjonen .dll fil som skal kjøres.

SDK-kommandoer:
  new initialiserer .NET-prosjektet.
  gjenopprette avhengighetene spesifisert i .NET-prosjektet.
  kjør og kjør .NET-prosjektet umiddelbart.
  bygg .NET-prosjektet.
  publish publiserer et .NET-prosjekt for distribusjon (inkludert kjøretiden).
  Testkjører enhetstester ved bruk av testrunneren som er spesifisert i prosjektet.
  pakke for å lage en NuGet-pakke.
  migrerer project.json-baserte prosjekter til MSBuild-baserte prosjekter.
  Ren, ren generert utgang.
  SLN Modification Solution (SLN)-fil.
  Legg til i referansen.
  Fjern fra prosjektet.
  List opp verktøyene prosjektet refererer til eller installerer.
  NuGet gir flere NuGet-kommandoer.
  msbuild kjører Microsoft Build Engine (MSBuild).
  vstest kjører kommandolinjeverktøyet Microsoft Test Execution.
  Store lagrer den spesifiserte samlingen i runtime-butikken.
  verktøy for å installere eller bruke verktøy som utvider .NET-opplevelsen.
  Build-Server samhandler med serveren som startes av build-versjonen.
  Hjelp viser hjelp.

Vanlige alternativer:
  -v|--ordrikdom bestemmer detaljnivået i kommandoen. De tillatte verdiene er Q[UIET], M[inimal], N[Ormal], D[etailed] og diag[nostic].
  -H|--Hjelp viser hjelp.

Kjør dotnet-kommandoen – hjelp til å få mer informasjon om kommandoen.

sdk-options:
  --versjonen viser versjonen av .NET Core SDK som er i bruk.
  --info viser .NET Core-informasjon.
  --list-sdks for å vise det installerte SDK-et.
  --list-runtimes viser den installerte kjøretiden.
  -d|--diagnostikk muliggjør diagnostisk utgang.

runtime-options:
  --additionalprobingpath <path> Stien som inneholder probe-policyen og sammensetningen til probe.
  --fx-versjonen <version> av den installerte versjonen av det delte rammeverket som skal brukes til å kjøre applikasjonen.
  --roll-forward-on-no-candidate-fx "No roll forward to Candidate Shared Framework" er aktivert.
  --adderal-deps <path> til stien til andre deps.json-filer.

Ytterligere verktøy ('dotnet [verktøynavn] --hjelp' for mer informasjon):
  Dev-sertifikater Opprett og administrer utviklingssertifikater.
  ef Entity Framework Core kommandolinjeverktøy.
  sql-cache SQL Server cache-kommandolinjeverktøy.
  brukerhemmeligheter Administrer utviklingsbrukerhemmeligheter.
  se Start en filovervåker som kjører en kommando når filer endres.

2. Samling og utgivelse


Publiser et .NET-prosjekt for distribusjon (inkludert kjøretiden).
dotnet publish


C:\project\dotnet\test1>dotnet publish --help
Bruk: dotnet publish [alternativer]

Alternativer:
  -H, --Hjelp viser hjelpeinformasjon.
  -o, --output <OUTPUT_DIR> brukes til å plassere utdatakatalogen til det publiserte elementet.
  -f, --rammeverk <FRAMEWORK> Målrammen som skal publiseres. Målrammen må spesifiseres i prosjektdokumentet.
  -r, --<RUNTIME_IDENTIFIER>runtime-publiser prosjektet for en gitt runtime. Bruk dette når du lager selvstendige distribusjoner. Standardhandlingen er å publisere en app som er avhengig av rammeverket.
  -c, --konfigurasjon <CONFIGURATION> brukes til å generere prosjektets konfigurasjon. Standardverdien for de fleste prosjekter er "Debug".
  --version-suffiks <VERSION_SUFFIX> definerer verdien av egenskapen $(VersionSuffix) i prosjektet ditt.
  --manifest <manifest.xml> Sti til målmanifestfilen som inneholder en liste over pakker som skal kjøres gjennom publiseringssteget.
  --nei-bygg ikke bygg prosjektet før publisering. Innebærer --no-restore.
  --selvstendige medfølgende applikasjoner publiserer .NET Core-kjøretider, noe som eliminerer behovet for å installere kjøretiden på målmaskinen. Hvis en runtime-identifikator er spesifisert, går den som standard til "true".
  --no-restore Ikke utfør en implisitt gjenoppretting mens kommandoen utføres.
  -v, --ordrikdom bestemmer detaljnivået på kommandoen. De tillatte verdiene er Q[UIET], M[inimal], N[Ormal], D[etailed] og diag[nostic].
  --no-dependencies setter dette flagget til å ignorere prosjekt-til-prosjekt-referanser og kun gjenopprette rotprosjektet.
  --tving til å tvinge alle avhengigheter til å løses, selv om den siste gjenopprettelsen har vært vellykket. Dette tilsvarer å slette project.assets.json.
Fra et utførelsesperspektiv tar CLI-kommandoer sine parametere og konstruerer et kall til den «originale» MSBuild for å sette ønskede egenskaper og ønsket mål som skal kjøres. For å illustrere dette bedre, se følgende kommando:


Denne kommandoen publiserer applikasjonen til pub-mappen ved hjelp av Publiser-konfigurasjonen. Internt oversettes denne kommandoen til følgende MSBuild-kall:
Definer målplattformen for applikasjonen din


Lag en tagg i delen av csproj-filen (som brukes til å definere målplattformen for appen din), <PropertyGroup> <RuntimeIdentifiers> og spesifiser deretter runtime-identifikatoren (RID) for hver målplattform. Merk at semikolon også kreves for å skille RID-er. Sjekk Runtime Identifier Catalog for en liste over runtime-identifikatorer.
For eksempel <PropertyGroup> indikerer følgende avsnitt at appen kjører på et 64-bits Windows 10-operativsystem og en 64-bits OS X versjon 10.11-versjon av operativsystemet.


Hvis vi kun ønsker å generere en distribusjon under win10 x64-plattformen, kan vi utføre følgende kommando:

Utdatamappe: C:\project\dotnet\test1\bin\release\netcoreapp2.1\win10-x64\publish, hele mappen har 66M, som er ganske stort, som vist i figuren nedenfor:



Generer release-pakken under centos.7-x64-plattformen, det er 70M, som også er ganske stort, la oss prøve å publisere det på centos 7 for å kjøre det :(.NET Core SDK er ikke installert på CentOS 7-systemer)。

Systeminformasjonen er som følger:

[root@master ~]# uname -a
Linux master 3.10.0-862.el7.x86_64 #1 SMP fre 20. apr 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@master ~]# katt /osv/redhat-release
CentOS Linux-utgivelse 7.6.1810 (Kjerne)
Vi laster opp filen til temp-katalogen og prøver å kjøre test1-filen, som kan skrives ut normalt, som følger:

[root@master ~]# mkdir temp
[root@master ~]# cd temp/
[root@master temp]# ./test1
-bash: ./test1: Ikke nok tillatelser
[root@master temp]# CD ..
[root@master ~]# chmod -R 777 temp/
[root@master ~]# cd temp/
[root@master temp]# ./test1
Hallo verden!
[root@master temp]# ekko "http://www.itsvse.com"
http://www.itsvse.com
[root@master midlertidig] #


3、. NET Core Run Identifier

.NET Core RID, RID er en forkortelse for Runtime Identifier. RID-verdier brukes til å identifisere målplattformen applikasjonen kjører på. .NET-pakker bruker dem til å representere plattformspesifikke ressurser i NuGet-pakker. Følgende verdier er eksempler på RID: linux-x64, ubuntu.14.04-x64, win7-x64, eller osx.10.12-x64. For pakker med native avhengigheter spesifiserer RID plattformen hvor pakken kan gjenopprettes.

<RuntimeIdentifier> Du kan sette en RID i elementet i prosjektfilen. Flere RID-er kan defineres som en <RuntimeIdentifiers> liste (adskilt med semikolon) i elementene i en prosjektfil.

RID-er som representerer et spesifikt operativsystem følger vanligvis følgende mønster: [os]. [versjon]-[arkitektur]-[tilleggsforbehold], hvor:
  • [OS] er navnet på operativsystemet/plattformsystemet. For eksempel ubuntu.
  • [versjon] er OS-versjonen, som er formatert med et prikk (.) versjonsnummer. For eksempel, 15.10. Versjoner bør ikke være markedsføringsutgivelser, da de vanligvis representerer flere separate versjoner av operativsystemet med ulike plattform-API-tilbehør.
  • [arkitektur] er prosessorarkitekturen. For eksempel: x86, x64, arm, eller arm64.
  • [Tilleggsforbehold] Skiller ytterligere mellom ulike plattformer. For eksempel AOT eller Corert.



Spesifikk introduksjon:https://docs.microsoft.com/zh-cn/dotnet/core/rid-catalog

4、. NET Core lager NuGet-pakker

For .NET Standard og .NET Core bør alle biblioteker utgis som NuGet-pakker. Faktisk er det slik alle .NET-standardbiblioteker publiseres og brukes. Dette kan enkelt oppnås ved hjelp av dotnet pack-kommandoen.



(Slutt)




Foregående:2019 National Civil Service Examination Video Tutorial
Neste:Visual Studio 2017 legger til MSDN
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com