Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 23453|Odpoveď: 0

[.NET Core] [DotNet Úvod (2)]. Kompilácia a vydanie NET Core

[Kopírovať odkaz]
Zverejnené 21. 1. 2019 17:10:26 | | | |
1. Nástroj príkazového riadku NET Core (CLI)
Zrušil project.json a nahradil ho súborom .csproj, ktorý sa project.json používal ako konfiguračný súbor projektu v ranom .NET jadre, a odhaduje sa, že Microsoft ho po objavení niektorých problémov zrušil, pričom MSBuild sa stále používal ako nástroj na kompiláciu .net.

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

Keď robíme kompiláciu a generovanie VS, VS nám len pomáha volať nástroj MSBuild, čo znamená, že pri kompilácii .NET projektu nemusíme vôbec inštalovať nástroj VS.

Príkaz nástroja .NET Core CLI je nasledovný:

.NET nástroje príkazového riadku (2.1.301)
Použitie: dotnet [runtime-options] [path-to-application]
Použitie: dotnet [sdk-options] [príkaz] [argumenty] [príkaz-options]

path-to-application:
  Cesta k aplikácii .dll súbor, ktorý sa má spustiť.

SDK príkazy:
  new inicializuje .NET projekt.
  obnoviť závislosti špecifikované v .NET projekte.
  okamžite spustiť a spustiť .NET projekt.
  Postaviť .NET projekt.
  publish publikuje .NET projekt na nasadenie (vrátane runtime).
  Test vykonáva jednotkové testy pomocou testovacieho runnera špecifikovaného v projekte.
  pack na vytvorenie balíka NuGet.
  migrujte projekty založené na project.json na projekty založené na MSBuild.
  čisté, čisté generované výstupy.
  Súbor SLN Modification Solution (SLN).
  Doplňte referenciu.
  Odstráňte z projektu.
  Vypíšte nástroje, na ktoré projekt odkazuje alebo ich inštaluje.
  NuGet poskytuje ďalšie príkazy NuGet.
  msbuild beží na Microsoft Build Engine (MSBuild).
  vstest spúšťa príkazový riadok Microsoft Test Execution.
  Uloženie špecifikovanej zostavy je uložené v runtime store.
  nástroj na inštaláciu alebo používanie nástrojov, ktoré rozširujú zážitok z .NET.
  Build server interaguje so serverom, ktorý je spustený v build verzii.
  Pomoc znamená pomoc.

Bežné možnosti:
  -v|--rozvláčnosť určuje úroveň detailov príkazu. Povolené hodnoty sú Q[UIET], M[inimal], N[Ormal], D[etailed] a diag[nostické].
  -H|--pomoc znamená pomoc.

Spustite príkaz dotnet – pomôžte získať viac informácií o príkaze.

sdk-options:
  --verzia zobrazuje verziu .NET Core SDK v používaní.
  --info zobrazuje informácie o .NET Core.
  --list-sdks na zobrazenie nainštalovaného SDK.
  --list-runtimes zobrazuje nainštalované runtime.
  -d|--diagnostika umožňuje diagnostický výstup.

runtime-options:
  --additionalprobingpath <path> Cesta obsahujúca politiku sondy a zostavu na sondu.
  --<version>fx-verzia nainštalovanej verzie zdieľaného frameworku, ktorá sa použije na spustenie aplikácie.
  --roll-forward-on-no-candidate-fx "No Roll Forward to Candidate Shared Framework" je zapnutý.
  --dodatočné-dep <path> na cestu k iným deps.json súborom.

Ďalšie nástroje ('dotnet [tool-name] --help' pre viac informácií):
  dev-certifikáty Vytvárajú a spravujú vývojové certifikáty.
  ef Entity Framework Core nástroje príkazového riadku.
  sql-cache SQL Server cache príkazové riadkové nástroje.
  používateľské tajomstvá Spravujte vývojové používateľské tajomstvá.
  watch Spusti sledovateľa súborov, ktorý spustí príkaz pri zmene súborov.

2. Kompilácia a vydanie


Publikujte .NET projekt na nasadenie (vrátane runtime).
dotnet publish


C:\project\dotnet\test1>dotnet publish --help
Použitie: dotnet publish [možnosti]

Možnosti:
  -H, --Pomoc zobrazuje informácie o pomoci.
  -o, --výstup <OUTPUT_DIR> sa používa na umiestnenie výstupného adresára publikovanej položky.
  -f, --rámec <FRAMEWORK> Cieľový rámec na publikovanie. Cieľový rámec musí byť špecifikovaný v projektovom dokumente.
  -r, --Runtime <RUNTIME_IDENTIFIER> publikovať projekt pre dané runtime. Použite to pri vytváraní samostatných nasadení. Predvolenou akciou je publikovať aplikáciu, ktorá závisí od frameworku.
  -c, --<CONFIGURATION>konfigurácia sa používa na generovanie konfigurácie projektu. Predvolená hodnota pre väčšinu projektov je "Debug".
  --version-suffix <VERSION_SUFFIX> definuje hodnotu vlastnosti $(VersionSuffix) vo vašom projekte.
  --manifest <manifest.xml> Cesta k cieľovému manifestovému súboru obsahujúcemu zoznam balíkov, ktoré sa majú spustiť v kroku publikovania.
  --no-build nebudujte projekt pred publikovaním. Naznačuje --ne-obnovu.
  --samostatné sprievodné aplikácie publikujú runtime .NET Core, čím eliminujú potrebu inštalovať runtime na cieľovom stroji. Ak je zadaný identifikátor za behu, predvolene sa zobrazí "true".
  --no-restore Nevykonávajte implicitné obnovenie počas vykonávania príkazu.
  -v, --rozvláčnosť určuje úroveň detailov príkazu. Povolené hodnoty sú Q[UIET], M[inimal], N[Ormal], D[etailed] a diag[nostické].
  --no-dependencies nastaví tento príznak tak, aby ignoroval referencie medzi projektmi a obnovoval iba koreňový projekt.
  --vynútiť, aby boli všetky závislosti vyriešené, aj keď posledné obnovenie bolo úspešné. To je ekvivalentné vymazaniu project.assets.json.
Z pohľadu vykonávania CLI príkazy vezmú svoje parametre a vytvoria volanie "pôvodnému" MSBuild na nastavenie požadovaných vlastností a požadovaného cieľa na spustenie. Aby sme to lepšie ilustrovali, pozrite si nasledujúci príkaz:


Tento príkaz publikuje aplikáciu do priečinka pub pomocou konfigurácie Publish. Interne tento príkaz znamená nasledujúce volanie MSBuild:
Definujte cieľovú platformu pre vašu aplikáciu


Vytvorte tag v sekcii súboru csproj (ktorý sa používa na definovanie cieľovej platformy pre vašu aplikáciu) <PropertyGroup> <RuntimeIdentifiers> a potom zadajte runtime identifier (RID) pre každú cieľovú platformu. Upozorňujeme, že na oddelenie RID sú potrebné aj bodkočiarky. Skontrolujte Runtime Identifier Catalog pre zoznam runtime identifikátorov.
Napríklad <PropertyGroup> nasledujúca sekcia uvádza, že aplikácia beží na 64-bitovom operačnom systéme Windows 10 a 64-bitovej verzii OS X verzie 10.11.


Ak chceme generovať distribúciu len pod platformou win10 x64, môžeme vykonať nasledujúci príkaz:

Výstupný priečinok: C:\project\dotnet\test1\bin\release\netcoreapp2.1\win10-x64\publish, celý priečinok má 66M, čo je pomerne veľké, ako je znázornené na obrázku nižšie:



Vygeneruj release balík na platforme centos.7-x64, je tam 70M, čo je tiež dosť veľké, skúsme ho publikovať na centos 7, aby sme ho spustili (.NET Core SDK nie je nainštalovaný na systémoch CentOS 7)。

Informácie o systéme sú nasledovné:

[root@master ~]# uname -a
Linux master 3.10.0-862.el7.x86_64 #1 SMP Pi 20. apríla 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@master ~]# mačka /atď/redhat-release
CentOS Linux release 7.6.1810 (Core)
Nahrajeme súbor do dočasného adresára a pokúsime sa spustiť test1 súbor, ktorý sa dá vypísať normálne, nasledovne:

[root@master ~]# mkdir temp
[root@master ~]# CD temp/
[root@master teplota]# ./test1
-bash: ./test1: Nedostatok oprávnení
[root@master temp]# cd ..
[root@master ~]# chmod -R 777 temp/
[root@master ~]# CD temp/
[root@master teplota]# ./test1
Čaute všetci!
[root@master temp]# ozvena "http://www.itsvse.com"
http://www.itsvse.com
[root@master teplota] #


3、. Identifikátor behu NET Core

.NET Core RID, RID je skratka pre Runtime Identifier. Hodnoty RID sa používajú na identifikáciu cieľovej platformy, na ktorej aplikácia beží. .NET balíky ich používajú na reprezentáciu platformovo špecifických aktív v balíkoch NuGet. Nasledujúce hodnoty sú príkladmi RID: linux-x64, ubuntu.14.04-x64, win7-x64 alebo osx.10.12-x64. Pre balíky s natívnymi závislosťami RID špecifikuje platformu, na ktorej je možné balík obnoviť.

<RuntimeIdentifier> RID si môžete nastaviť v prvku projektového súboru. Viaceré RID-y môžu byť definované ako <RuntimeIdentifiers> zoznam (oddelený bodkočiarkami) v prvkoch projektového súboru.

RID, ktoré reprezentujú konkrétny operačný systém, zvyčajne nasledujú nasledujúci vzor: [os]. [verzia]-[architektúra]-[ďalšie upresňovače], kde:
  • [OS] je názov operačného systému/platformového systému. Napríklad Ubuntu.
  • [verzia] je verzia operačného systému, ktorá je formátovaná bodkou (.) číslom verzie. Napríklad 15.10. Verzie by nemali byť marketingovými vydaniami, pretože zvyčajne predstavujú viacero samostatných verzií operačného systému s rôznymi platformovými API perifériami.
  • [architektúra] je architektúra procesora. Napríklad: x86, x64, arm alebo arm64.
  • [ďalšie upresnenia] ďalej rozlišujú medzi rôznymi platformami. Napríklad AOT alebo Corert.



Konkrétny úvod:https://docs.microsoft.com/zh-cn/dotnet/core/rid-catalog

4、. NET Core vytvára balíky NuGet

Pre .NET Standard a .NET Core by všetky knižnice mali byť vydané ako balíky NuGet. V skutočnosti sa takto publikujú a používajú všetky .NET štandardné knižnice. To sa dá ľahko dosiahnuť pomocou príkazu dotnet pack.



(Koniec)




Predchádzajúci:Video tutoriál Národnej štátnej služobnej skúšky 2019
Budúci:Visual Studio 2017 pridáva MSDN
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com