Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 23453|Odpověď: 0

[.NET Core] [DotNet úvod (2)]. Kompilace a vydání NET Core

[Kopírovat odkaz]
Zveřejněno 21.01.2019 17:10:26 | | | |
1. Nástroj příkazového řádku NET Core (CLI)
Zastaralý project.json a nahradil jej souborem .csproj, který byl project.json používán jako konfigurační soubor projektu v raném jádru .NET a odhaduje se, že Microsoft jej po objevení některých problémů zastaral, takže MSBuild byl stále používán jako nástroj pro kompilaci .net.

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

Když provádíme kompilaci a generování VS, VS nám jen pomáhá volat nástroj MSBuild, což znamená, že při kompilaci .NET projektu vůbec nemusíme nástroj VS instalovat.

Příkaz nástroje .NET Core CLI je následující:

.NET nástroje příkazového řádku (2.1.301)
Použití: dotnet [runtime-options] [cesta k aplikaci]
Použití: dotnet [sdk-options] [příkaz] [argumenty] [příkaz-options]

path-to-application:
  Cesta k aplikaci .dll soubor, který má být vykonán.

SDK příkazy:
  new inicializuje .NET projekt.
  obnovit závislosti specifikované v projektu .NET.
  okamžitě spusťte a spusťte .NET projekt.
  Build .NET projekt.
  publish publikuje .NET projekt pro nasazení (včetně runtime).
  Test provádí jednotkové testy pomocí testovacího runneru specifikovaného v projektu.
  packu pro vytvoření balíčku NuGet.
  migrujte projekty založené na project.json na projekty založené na MSBuild.
  Čistě čistě generovaný výstup.
  SLN Modifikační řešení (SLN).
  doplňte odkaz.
  Odstraňte z projektu.
  Vyjmenujte nástroje, na které projekt odkazuje nebo které instaluje.
  NuGet poskytuje další příkazy NuGet.
  msbuild spouští Microsoft Build Engine (MSBuild).
  vstest spouští příkazový nástroj Microsoft Test Exeku.
  Uloženo uložené sestavení ukládá do runtime úložiště.
  nástroj pro instalaci nebo použití nástrojů, které rozšiřují zážitek z .NET.
  Build server interaguje se serverem, který je spuštěn verzí buildu.
  Pomoc znamená pomoc.

Běžné možnosti:
  -v|--rozvláčnost určuje úroveň detailu příkazu. Povolené hodnoty jsou Q[UIET], M[inimal], N[Ormal], D[etailed] a diag[nostické].
  -H|--pomoc znamená pomoc.

Spusť příkaz dotnet – pomozte získat více informací o příkazu.

sdk-options:
  --verze zobrazuje verzi .NET Core SDK v používání.
  --info zobrazuje informace o .NET Core.
  --list-sdks pro zobrazení nainstalovaného SDK.
  --list-runtimes ukazuje nainstalované runtime.
  -d|--diagnostika umožňuje diagnostický výstup.

runtime-options:
  --additionalprobingpath <path> Cesta obsahující politiku a sestavení sondy pro sondu.
  --fx-verze verze <version> nainstalované verze sdíleného frameworku, která bude použita k provozu aplikace.
  --roll-forward-on-no-candidate-fx "No Roll Forward to Candidate Shared Framework" je zapnuto.
  --dodatečné-úrovně <path> cesty k dalším deps.json souborům.

Další nástroje ('dotnet [tool-name] --help' pro více informací):
  Dev-Cert Vytvářejí a spravují vývojové certifikáty.
  ef Entity Framework Core nástroje příkazového řádku.
  sql-cache SQL Server cache příkazové nástroje.
  uživatelská tajemství Spravujte vývojová uživatelská tajemství.
  watch Spusťte sledovač souborů, který spustí příkaz při změně souborů.

2. Kompilace a vydání


Publikujte .NET projekt pro nasazení (včetně runtime).
dotnet publish


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

Možnosti:
  -H, --nápověda zobrazuje informace o pomoci.
  -o, --výstup <OUTPUT_DIR> se používá k umístění výstupního adresáře publikované položky.
  -f, --rámec <FRAMEWORK> Cílový rámec k publikaci. Cílový rámec musí být uveden v projektovém dokumentu.
  -r, --runtime <RUNTIME_IDENTIFIER> publikovat projekt pro dané runtime. Použijte to při vytváření samostatných nasazení. Výchozí akce je publikovat aplikaci, která závisí na frameworku.
  -c, --konfigurace <CONFIGURATION> se používá k generování konfigurace projektu. Výchozí hodnota většiny projektů je "Debug".
  --version-suffix <VERSION_SUFFIX> definuje hodnotu vlastnosti $(VersionSuffix) ve vašem projektu.
  --manifest <manifest.xml> Cesta k cílovému manifestnímu souboru obsahujícímu seznam balíčků, které mají být vykonány v kroku publikování.
  --no-build nestaví projekt před publikací. To znamená --ne-obnovu.
  --samostatné doprovodné aplikace publikují runtime .NET Core, čímž odpadá nutnost instalace runtime na cílovém stroji. Pokud je specifikován identifikátor za běhu, výchozí je "true".
  --no-restore Neprovádějte implicitní obnovení při provádění příkazu.
  -v, --rozvláčnost určuje úroveň detailu příkazu. Povolené hodnoty jsou Q[UIET], M[inimal], N[Ormal], D[etailed] a diag[nostické].
  --no-dependencies nastaví tento příznak tak, aby ignoroval odkazy mezi projekty a obnovoval pouze kořenový projekt.
  --vynucovat vyvolání všech závislostí, i když poslední obnovení bylo úspěšné. To je ekvivalentní smazání project.assets.json.
Z hlediska provádění příkazy CLI vezmou své parametry a vytvoří volání "původního" MSBuild pro nastavení požadovaných vlastností a požadovaného cíle pro spust. Pro lepší ilustraci se podívejte na následující příkaz:


Tento příkaz publikuje aplikaci do složky pub pomocí konfigurace Publish. Interně se tento příkaz překládá do následujícího volání MSBuild:
Definujte cílovou platformu pro vaši aplikaci


Vytvořte tag v sekci souboru csproj (která se používá k definování cílové platformy pro vaši aplikaci) <PropertyGroup> <RuntimeIdentifiers> a poté zadejte runtime identifier (RID) pro každou cílovou platformu. Všimněte si, že pro oddělení RID jsou také vyžadovány středníky. Zkontrolujte katalog identifikátorů runtime pro seznam identifikátorů runtime.
Například <PropertyGroup> následující sekce uvádí, že aplikace běží na 64bitovém operačním systému Windows 10 a 64bitové verzi OS X 10.11.


Pokud chceme generovat distribuci pouze pod platformou win10 x64, můžeme provést následující příkaz:

Složka výstupu: C:\project\dotnet\test1\bin\release\netcoreapp2.1\win10-x64\publish, celá složka má 66M, což je poměrně velké, jak ukazuje obrázek níže:



Vygenerujte release package na platformě centos.7-x64, je jich 70M, což je také poměrně velké, zkusme ho publikovat na centOS 7, abychom ho mohli spustit (.NET Core SDK není nainstalováno na systémech CentOS 7)。

Informace o systému jsou následující:

[root@master ~]# uname -a
Linux master 3.10.0-862.el7.x86_64 #1 SMP pá 20. dubna 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@master ~]# kočka /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
Soubor nahrajeme do dočasného adresáře a snažíme se spustit test1 soubor, který lze vydat normálně, následovně:

[root@master ~]# mkdir temp
[root@master ~]# CD temp/
[root@master teplota]# ./test1
-bash: ./test1: Nedostatek oprávnění
[root@master temp]# cd ..
[root@master ~]# chmod -R 777 temp/
[root@master ~]# CD temp/
[root@master teplota]# ./test1
Ahoj světe!
[root@master temp]# ozvěna "http://www.itsvse.com"
http://www.itsvse.com
[root@master teplota] #


3、. NET Core Run Identifier

.NET Core RID, RID je zkratka pro Runtime Identifier. Hodnoty RID se používají k identifikaci cílové platformy, na které aplikace běží. .NET balíčky je používají k reprezentaci platformově specifických aktiv v NuGet balíčcích. Následující hodnoty jsou příklady RID: linux-x64, ubuntu.14.04-x64, win7-x64 nebo osx.10.12-x64. U balíčků s nativními závislostmi RID specifikuje platformu, na které lze balíček obnovit.

<RuntimeIdentifier> RID můžete nastavit v prvku projektového souboru. Více RIDů lze definovat jako <RuntimeIdentifiers> seznam (oddělený středníky) v prvcích projektového souboru.

RID, které reprezentují konkrétní operační systém, obvykle následují následující vzor: [os]. [verze]-[architektura]-[další upřesňovače], kde:
  • [OS] je název operačního systému/platformního systému. Například ubuntu.
  • [verze] je verze operačního systému, která je formátována tečkou (.) číslem verze. Například 15.10. Verze by neměly být marketingovými vydáními, protože obvykle představují více samostatných verzí operačního systému s různými platformními API periferiemi.
  • [architektura] je architektura procesoru. Například: x86, x64, arm nebo arm64.
  • [další upřesnění] dále rozlišují mezi různými platformami. Například AOT nebo Corert.



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

4、. NET Core vytváří balíčky NuGet

Pro .NET Standard a .NET Core by všechny knihovny měly být vydány jako balíčky NuGet. Ve skutečnosti jsou takto publikovány a používány všechny standardní knihovny .NET. To lze snadno provést pomocí příkazu dotnet pack.



(Konec)




Předchozí:Video návod na národní státní služební zkoušku 2019
Další:Visual Studio 2017 přidává MSDN
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com