Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 23453|Svar: 0

[.NET Core] [DotNet-introduktion (2)]. NET Core-samling och utgivning

[Kopiera länk]
Publicerad på 2019-01-21 17:10:26 | | | |
1. NET Core kommandoradsgränssnitt (CLI)-verktyg
Föråldrade project.json och ersatte den med en .csproj-fil, som project.json användes som en projektkonfigurationsfil i den tidiga .NET-kärnan, och det uppskattas att Microsoft avvecklade den efter att ha upptäckt vissa problem, och MSBuild användes fortfarande som ett .net-kompileringsverktyg.

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

När vi utför VS-kompilering och generering hjälper VS oss bara att anropa MSBuild-verktyget, vilket betyder att när vi kompilerar .NET-projektet behöver vi inte installera VS-verktyget alls.

.NET Core CLI-verktygskommandot är följande:

.NET kommandoradsverktyg (2.1.301)
Användning: dotnet [runtime-options] [path to-application]
Användning: dotnet [sdk-options] [kommando] [argument] [kommando-options]

path-to-application:
  Sökvägen till applikationen .dll fil som ska köras.

SDK-kommandon:
  new initierar .NET-projektet.
  återställ de beroenden som specificerats i .NET-projektet.
  kör och kör .NET-projektet omedelbart.
  bygg .NET-projektet.
  publish publicerar ett .NET-projekt för distribution (inklusive runtime).
  Testkör enhetstester med testrunnern som specificeras i projektet.
  Pack för att skapa ett NuGet-paket.
  migrera project.json-baserade projekt till MSBuild-baserade projekt.
  Ren, ren genererad utgång.
  SLN Modification Solution (SLN)-fil.
  Lägg till i referensen.
  ta bort från projektet.
  Lista de verktyg som projektet refererar till eller installerar.
  NuGet tillhandahåller ytterligare NuGet-kommandon.
  msbuild kör Microsoft Build Engine (MSBuild).
  vstest kör kommandoradsverktyget Microsoft Test Execution.
  Store lagrar den angivna sammansättningen i runtime-butiken.
  verktyg för att installera eller använda verktyg som förlänger .NET-upplevelsen.
  build-server interagerar med servern som startas av buildversionen.
  Hjälp, visar hjälp.

Vanliga alternativ:
  -v|--ordrikedom bestämmer detaljnivån i kommandot. De tillåtna värdena är Q[UIET], M[inimal], N[Ormal], D[etailed] och diag[nostic].
  -h|--hjälp visar hjälp.

Kör dotnet-kommandot – hjälp till att få mer information om kommandot.

sdk-options:
  --versionen visar vilken version av .NET Core SDK som används.
  --info visar .NET Core-information.
  --list-SDK:er för att visa det installerade SDK:t.
  --list-runtimes visar den installerade körtiden.
  -d|--diagnostik möjliggör diagnostisk utmatning.

runtime-options:
  --additionalprobingpath <path> Vägen som innehåller probepolicyn och sammansättningen för att probe.
  --fx-version <version> av den installerade versionen av det delade ramverket som ska användas för att köra applikationen.
  --roll-forward-on-no-candidate-fx "No Roll Forward to Candidate Shared Framework" är aktiverat.
  --additional-deps <path> till sökvägen till andra deps.json filer.

Ytterligare verktyg ("dotnet [verktygsnamn] --hjälp" för mer information):
  Dev-certs skapar och hanterar utvecklingscertifikat.
  ef Entity Framework Core kommandoradsverktyg.
  sql-cache SQL Server cache-kommandoradsverktyg.
  användarhemligheter Hantera utvecklingsanvändarhemligheter.
  titta på Start a file watcher som kör ett kommando när filer ändras.

2. Samling och utgivning


Publicera ett .NET-projekt för distribution (inklusive runtime).
dotnet publish


C:\project\dotnet\test1>dotnet publish --help
Användning: dotnet publish [alternativ]

Alternativ:
  -H, --hjälpdisplayer, hjälpinformation.
  -o, --output <OUTPUT_DIR> används för att placera utdatakatalogen för det publicerade objektet.
  -f, --ramverk <FRAMEWORK> Målramverket som ska publiceras. Målramverket måste specificeras i projektdokumentet.
  -r, --runtime <RUNTIME_IDENTIFIER> publicera projektet för en given runtime. Använd detta när du skapar självständiga distributioner. Standardåtgärden är att publicera en app som är beroende av ramverket.
  -c, --konfiguration <CONFIGURATION> används för att generera projektets konfiguration. Standardvärdet för de flesta projekt är "Debug".
  --version-suffix <VERSION_SUFFIX> definierar värdet på egenskapen $(VersionSuffix) i ditt projekt.
  --manifest <manifest.xml> Väg till målmanifestfilen som innehåller en lista över paket som ska exekveras genom publiceringssteget.
  --no-build bygger inte projektet innan publicering. Innebär --ingen återställning.
  --självständiga medföljande applikationer publicerar .NET Core-runtimes, vilket eliminerar behovet av att installera runtime på måldatorn. Om en runtime-identifierare anges är den som standard "true".
  --no-restore Utför inte en implicit återställning medan kommandot exekveras.
  -v, --Ordrikedom bestämmer detaljnivån i kommandot. De tillåtna värdena är Q[UIET], M[inimal], N[Ormal], D[etailed] och diag[nostic].
  --no-dependencies sätter denna flagga att ignorera projekt-till-projekt-referenser och endast återställa rotprojektet.
  --tvinga fram att alla beroenden löses, även om den senaste återställningen har lyckats. Detta motsvarar att ta bort project.assets.json.
Ur ett exekveringsperspektiv tar CLI-kommandon sina parametrar och konstruerar ett anrop till den "ursprungliga" MSBuild för att sätta önskade egenskaper och det önskade målet att köra. För att bättre illustrera detta, se följande kommando:


Detta kommando publicerar applikationen till pub-mappen med hjälp av Publicer-konfigurationen. Internt översätts detta kommando till följande MSBuild-anrop:
Definiera målplattformen för din applikation


Skapa en tagg i sektionen i csproj-filen (som används för att definiera målplattformen för din app) <PropertyGroup> <RuntimeIdentifiers> och ange sedan runtime-identifieraren (RID) för varje målplattform. Observera att semikolon också krävs för att separera RIDs. Kolla Runtime Identifier Catalog för en lista över runtime-identifierare.
Till exempel <PropertyGroup> visar följande avsnitt att appen körs på ett 64-bitars Windows 10-operativsystem och en 64-bitars OS X version 10.11-versionen av operativsystemet.


Om vi bara vill generera en distribution under win10 x64-plattformen kan vi utföra följande kommando:

Utdatamapp: C:\project\dotnet\test1\bin\release\netcoreapp2.1\win10-x64\publish, hela mappen har 66M, vilket är ganska stort, som visas i figuren nedan:



Generera releasepaketet under centos.7-x64-plattformen, det finns 70M, vilket också är ganska stort, låt oss försöka publicera det på centos 7 för att köra det (.NET Core SDK är inte installerat på CentOS 7-system)。

Systeminformationen är följande:

[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 /etc/redhat-release
CentOS Linux-version 7.6.1810 (Kärna)
Vi laddar upp filen till temp-katalogen och försöker köra test1-filen, som kan exporteras normalt, enligt följande:

[root@master ~]# mkdir temp
[root@master ~]# CD temp/
[root@master temp]# ./test1
-bash: ./test1: Inte tillräckligt med behörigheter
[root@master temp]# CD ..
[root@master ~]# chmod -R 777 temp/
[root@master ~]# CD temp/
[root@master temp]# ./test1
Hej världen!
[root@master temp]# echo "http://www.itsvse.com"
http://www.itsvse.com
[root@master temp] #


3、. NET Core Run Identifier

.NET Core RID, RID är en förkortning för Runtime Identifier. RID-värden används för att identifiera målplattformen där applikationen körs. .NET-paket använder dem för att representera plattformsspecifika tillgångar i NuGet-paket. Följande värden är exempel på RID: linux-x64, ubuntu.14.04-x64, win7-x64 eller osx.10.12-x64. För paket med inbyggda beroenden specificerar RID plattformen där paketet kan återställas.

<RuntimeIdentifier> Du kan ställa in en RID i elementet i projektfilen. Flera RID:er kan definieras som en <RuntimeIdentifiers> lista (separerade av semikolon) i elementen i en projektfil.

RID:er som representerar ett specifikt operativsystem följer vanligtvis följande mönster: [os]. [version]-[arkitektur]-[ytterligare förbehåll], där:
  • [OS] är namnet på operativsystemet/plattformssystemet. Till exempel ubuntu.
  • [version] är OS-versionen, som är formaterad med ett prick (.) versionsnummer. Till exempel, 15,10. Versioner bör inte vara marknadsföringsreleaser, eftersom de vanligtvis representerar flera separata versioner av operativsystemet med olika plattforms-API-kringutrustning.
  • [arkitektur] är processorarkitekturen. Till exempel: x86, x64, arm eller arm64.
  • [ytterligare förbehåll] Differentierar ytterligare mellan olika plattformar. Till exempel AOT eller Corert.



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

4、. NET Core skapar NuGet-paket

För .NET Standard och .NET Core bör alla bibliotek släppas som NuGet-paket. Faktum är att det är så alla .NET-standardbibliotek publiceras och används. Detta kan enkelt uppnås med dotnet pack-kommandot.



(Slut)




Föregående:2019 års nationella tjänsteexamen Videotutorial
Nästa:Visual Studio 2017 lägger till MSDN
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com