Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 23453|Svar: 0

[.NET Core] [DotNet Introduktion (2)]. NET Core-kompilering og udgivelse

[Kopier link]
Opslået på 21/01/2019 17.10.26 | | | |
1. NET Core kommandolinjeinterface (CLI) værktøj
Afskaffede project.json og erstattede den med en .csproj-fil, som project.json blev brugt som projektkonfigurationsfil i den tidlige .NET-kerne, og det anslås, at Microsoft forældede den efter at have opdaget nogle problemer, og MSBuild blev stadig brugt som et .net-kompileringsværktøj.

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

Når vi udfører VS-kompilering og generering, hjælper VS os bare med at kalde MSBuild-værktøjet, hvilket betyder, at når vi kompilerer .NET-projektet, behøver vi slet ikke installere VS-værktøjet.

.NET Core CLI-værktøjskommandoen er som følger:

.NET Kommandolinjeværktøjer (2.1.301)
Brug: dotnet [runtime-options] [sti til applikation]
Brug: dotnet [sdk-options] [kommando] [argumenter] [kommando-options]

path-to-application:
  Stien til applikationen .dll fil, der skal eksekveres.

SDK-kommandoer:
  ny initialiserer .NET-projektet.
  genopret de afhængigheder, der er specificeret i .NET-projektet.
  kør og udfør .NET-projektet med det samme.
  byg .NET-projektet.
  publish publicerer et .NET-projekt til udrulning (inklusive runtime).
  Test kører enhedstests ved hjælp af testløberen, der er specificeret i projektet.
  pakke for at lave en NuGet-pakke.
  migrer project.json-baserede projekter til MSBuild-baserede projekter.
  Rent, rent genereret output.
  SLN Modification Solution (SLN) fil.
  Tilføj til referencen.
  Fjern fra projektet.
  Lav en liste over de værktøjer, som projektet refererer til eller installerer.
  NuGet giver yderligere NuGet-kommandoer.
  msbuild kører Microsoft Build Engine (MSBuild).
  vstest kører Microsoft Test Execution kommandolinjeværktøj.
  Store gemmer den angivne samling i runtime-butikken.
  værktøj til at installere eller bruge værktøjer, der udvider .NET-oplevelsen.
  build-server interagerer med serveren, som build-versionen starter.
  Hjælp viser hjælp.

Almindelige muligheder:
  -v|--ordfordrægtighed bestemmer detaljegraden af kommandoen. De tilladte værdier er Q[UIET], M[inimal], N[Ormal], D[etailed] og diag[nostic].
  -h|--hjælp viser hjælp.

Kør dotnet-kommandoen – hjælp til at få mere information om kommandoen.

sdk-options:
  --versionen viser den version af .NET Core SDK, der er i brug.
  --info viser .NET Core-information.
  --list-sdks for at vise det installerede SDK.
  --list-runtimes viser den installerede runtime.
  -d|--diagnostik muliggør diagnostisk output.

runtime-options:
  --additionalprobingpath <path> Stien, der indeholder probe-politikken og samlingen til probe.
  --fx-version <version> af den installerede version af det delte framework, der skal bruges til at køre applikationen.
  --roll-forward-on-no-candidate-fx "No Roll Forward to Candidate Shared Framework" er aktiveret.
  --additional-deps <path> til stien til andre deps.json filer.

Yderligere værktøjer ('dotnet [tool-name] --help' for mere information):
  Dev-certifikater Opret og administrer udviklingscertifikater.
  ef Entity Framework Core kommandolinjeværktøjer.
  sql-cache SQL Server cache-kommandolinjeværktøjer.
  bruger-hemmeligheder Administrer udviklingsbrugerhemmeligheder.
  se Start en filovervåger, der kører en kommando, når filer ændres.

2. Kompilation og udgivelse


Udgiv et .NET-projekt til udrulning (inklusive runtime).
dotnet publish


C:\project\dotnet\test1>dotnet publish --help
Anvendelse: dotnet publish [muligheder]

Muligheder:
  -H, --Hjælpedisplays, hjælpeinformation.
  -o, --output <OUTPUT_DIR> bruges til at placere outputmappen for det publicerede element.
  -f, --framework <FRAMEWORK> Målrammen for at blive offentliggjort. Målrammen skal specificeres i projektdokumentet.
  -r, --runtime <RUNTIME_IDENTIFIER> publicer projektet for en given runtime. Brug dette, når du opretter selvstændige udrulninger. Standardhandlingen er at udgive en app, der afhænger af frameworket.
  -c, --konfiguration <CONFIGURATION> bruges til at generere projektets konfiguration. Standardværdien for de fleste projekter er "Debug".
  --version-suffiks <VERSION_SUFFIX> definerer værdien af $(VersionSuffix)-egenskaben i dit projekt.
  --manifest <manifest.xml> Sti til målmanifestfilen, der indeholder en liste over pakker, der skal udføres gennem publiceringstrinnet.
  --no-build Bygg ikke projektet før udgivelse. Indebærer --ingen genopretning.
  --selvstændige ledsagende applikationer udgiver .NET Core-runtimes, hvilket eliminerer behovet for at installere runtime på målmaskinen. Hvis en runtime-identifikator er angivet, står den som standard til "true".
  --no-restore Udfør ikke en implicit gendannelse under udførelsen af kommandoen.
  -v, --ordrighed bestemmer detaljegraden i kommandoen. De tilladte værdier er Q[UIET], M[inimal], N[Ormal], D[etailed] og diag[nostic].
  --no-dependencies sætter dette flag til at ignorere projekt-til-projekt referencer og kun gendanne rodprojektet.
  --tving til at tvinge alle afhængigheder til at blive løst, selv hvis den sidste gendannelse har været succesfuld. Dette svarer til at slette project.assets.json.
Fra et eksekveringsperspektiv tager CLI-kommandoer deres parametre og konstruerer et kald til den "oprindelige" MSBuild for at sætte de ønskede egenskaber og det ønskede mål, der skal køres. For bedre at illustrere dette, se følgende kommando:


Denne kommando publicerer applikationen til pub-mappen ved hjælp af Publicer-konfigurationen. Internt oversættes denne kommando til følgende MSBuild-kald:
Definer målplatformen for din applikation


Opret et tag i sektionen af csproj-filen (som bruges til at definere målplatformen for din app), <PropertyGroup> <RuntimeIdentifiers> og angiv derefter runtime-identifikatoren (RID) for hver målplatform. Bemærk, at semikolon også er påkrævet for at adskille RID'er. Tjek Runtime Identifier Catalog for en liste over runtime-identifikatorer.
For eksempel <PropertyGroup> angiver følgende afsnit, at appen kører på et 64-bit Windows 10 operativsystem og en 64-bit OS X version 10.11 version af operativsystemet.


Hvis vi kun ønsker at generere en distribution under win10 x64-platformen, kan vi udføre følgende kommando:

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



Generer release-pakken under centos.7-x64 platformen, der er 70M, som også er ret stort, lad os prøve at udgive det på centos 7 for at køre det (.NET Core SDK'en er ikke installeret på CentOS 7-systemer)。

Systeminformationen 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 ~]# kat /osv/redhat-release
CentOS Linux udgivelse 7.6.1810 (Core)
Vi uploader filen til temp-mappen og prøver at køre test1-filen, som kan outputtes normalt, som følger:

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


3、. NET Core Run Identifier

.NET Core RID, RID er en forkortelse for Runtime Identifier. RID-værdier bruges til at identificere den målplatform, som applikationen kører på. .NET-pakker bruger dem til at repræsentere platform-specifikke aktiver i NuGet-pakker. Følgende værdier er eksempler på RID: linux-x64, ubuntu.14.04-x64, win7-x64 eller osx.10.12-x64. For pakker med native afhængigheder specificerer RID platformen, hvorpå pakken kan gendannes.

<RuntimeIdentifier> Du kan sætte en RID i elementet i projektfilen. Flere RID'er kan defineres som en <RuntimeIdentifiers> liste (adskilt af semikolon) i elementerne i en projektfil.

RID'er, der repræsenterer et specifikt operativsystem, følger typisk følgende mønster: [os]. [version]-[arkitektur]-[yderligere forbehold], hvor:
  • [OS] er navnet på operativsystemet/platformsystemet. For eksempel ubuntu.
  • [version] er OS-versionen, som er formateret med et prik (.) versionsnummer. For eksempel 15.10. Versioner bør ikke være markedsføringsudgivelser, da de typisk repræsenterer flere separate versioner af operativsystemet med forskellige platform-API-tilbehør.
  • [arkitektur] er processorarkitekturen. For eksempel: x86, x64, arm eller arm64.
  • [yderligere forbehold] differentiér yderligere mellem forskellige platforme. For eksempel AOT eller Corert.



Specifik introduktion:https://docs.microsoft.com/zh-cn/dotnet/core/rid-catalog

4、. NET Core opretter NuGet-pakker

For .NET Standard og .NET Core bør alle biblioteker udgives som NuGet-pakker. Faktisk er det sådan, alle .NET-standardbiblioteker bliver publiceret og brugt. Dette kan nemt opnås ved hjælp af dotnet pack-kommandoen.



(Slut)




Tidligere:2019 National Civil Service Examination Video Tutorial
Næste:Visual Studio 2017 tilføjer MSDN
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com