1. NET Core parancssori interfész (CLI) eszköz Leelavulttá tették project.json-et, és helyette egy .csproj fájlt használtak, amelyet project.json használtak projektkonfigurációs fájlként a korai .NET magban, és becslések szerint a Microsoft lejáratta a problémák felfedezése után, míg az MSBuild továbbra is .net fordítási eszközként használták.
Az MSBuild bemutatja:https://docs.microsoft.com/zh-cn ... sbuild?view=vs-2017
Amikor a VS fordítást és generálást végzünk, a VS csak segít az MSBuild eszközt hívni, ami azt jelenti, hogy a .NET projekt fordításakor egyáltalán nem kell telepítenünk a VS eszközt.
A .NET Core CLI eszközparancs a következő:
.NET parancssori eszközök (2.1.301) Használat: dotnet [runtime-options] [path-to-application] Használat: dotnet [sdk-options] [parancs] [argumenták] [command-options]
path-to-application: Az alkalmazás útja .dll a futtatandó fájl.
SDK parancsok: a new inicializálja a .NET projektet. Állítsa vissza a .NET projektben megadott függőségeket. azonnal indítsd és hajtsd végre a .NET projektet. build .NET projekt. a publish egy .NET projektet ad ki telepítésre (beleértve a futásidőt is). Egységteszteket futtatnak a projektben megadott tesztfutóval. csomagolj, hogy létrehozz egy NuGet csomagot. áthelyezhetjük project.json-alapú projekteket MSBuild-alapú projektekre. Tiszta, tiszta, generált kimenet. SLN Módosítási Megoldás (SLN) fájl. Egészítsd ki a hivatkozást. Távolítsd el a projektből. Sorold fel azokat az eszközöket, amelyekre a projekt hivatkozik vagy telepít. A NuGet további NuGet parancsokat biztosít. Az msbuild futtatja a Microsoft Build Engine-t (MSBuild). a vstest futtatja a Microsoft Test Execution parancssor-eszközt. Store a megadott összeállítást a runtime store-ben tárolja. eszköz, amely olyan eszközöket telepíthet vagy használ, amelyek kiterjesztik a .NET élményt. A build-server interakcióba lép azzal a szerverrel, amelyet a build verzió indít. A segítség segítséget mutat.
Gyakori lehetőségek: -v|--a csevegészet határozza meg a parancs részletességi szintjét. Az engedélyezett értékek: Q[UIET], M[inimális], N[Ormal], D[etailed] és diag[nosztikus]. -h|--a segítség mutatja a segítséget.
Futtatd a dotnet parancsot – segíts, hogy többet szerezz a parancsról.
sdk-options: --verzió mutatja a .NET Core SDK használatban lévő verzióját. --info a .NET Core információkat jeleníti meg. --list-sdk-k, hogy megjelenítse az telepített SDK-t. --list-runtimes mutatja a telepített futásidőt. -d|--diagnosztika lehetővé teszi a diagnosztikai kimenetet.
runtime-options: --additionalprobingpath <path> Az út, amely tartalmazza a szonda politikáját és a szondához való összeállítást. --fx-verzió <version> a telepített közös keretrendszer verziója, amelyet az alkalmazás futtatásához használnak. --roll-forward-on-no-candidate-fx "No Roll Forward to Candidate Shared Framework" engedélyezve van. --additional-deps <path> a többi deps.json fájlhoz vezető úthoz.
További eszközök ('dotnet [tool-name] --help' további információért): dev-certs Fejlesztési tanúsítványok létrehozása és kezelése. ef Entity Framework Core parancssor-eszközök. sql-cache SQL Server cache parancssoros eszközök. felhasználói titkok Fejlesztési felhasználói titkok kezelése. nézd Indítson el egy fájlfigyelőt, amely parancsot futtat, amikor a fájlok változnak.
2. Összeállítás és kiadás
Publikáljon egy .NET projektet telepítésre (beleértve a futásidőt is). dotnet publish
C:\project\dotnet\test1>dotnet publish --help Használat: dotnet publish [opciók]
Lehetőségek: -h, --a segítség mutatja a segítséginformációt. -o, --output <OUTPUT_DIR> segítségével elhelyezzük a közzétett tétel kimeneti könyvtárát. -f, --<FRAMEWORK>keretrendszer A célkeret, amelyet közzé kell tenni. A célkeretrendszert meg kell határozni a projektdokumentumban. -r, --runtime <RUNTIME_IDENTIFIER> publikálja a projektet egy adott futásidőben. Ezt használd önálló telepítések létrehozásakor. Az alapértelmezett lépés egy olyan alkalmazás közzététele, amely a keretrendszertől függ. -c, --konfiguráció <CONFIGURATION> a projekt konfigurációjának generálásához szolgál. A legtöbb projekt alapértelmezett értéke a "Debug". --version-sufffix <VERSION_SUFFIX> meghatározza a $(VersionSuffix) tulajdonság értékét a projektedben. --manifest <manifest.xml> Út a cél manifest fájlhoz, amely tartalmazza a csomagok listáját, amelyeket a közzétételi lépésen keresztül kell végrehajtani. --no-build Ne építsd el a projektet a publikáció előtt. Ez azt sugallja, hogy nincs visszaállítás. --önálló mellékalkalmazások .NET Core futásidőket adnak ki, így nincs szükség a futási idő telepítésére a célgépre. Ha futtatóidejű azonosítót megadnak, az alapértelmezett "true" lesz. --no-restore Ne végezzen implicit visszaállítást a parancs végrehajtása közben. -v, --a szövegesség határozza meg a parancs részletességi szintjét. Az engedélyezett értékek: Q[UIET], M[inimális], N[Ormal], D[etailed] és diag[nosztikus]. --no-dependencies beállítja ezt a zászlót, hogy figyelmen kívül hagyja a projekt-projekt hivatkozásokat, és csak a gyökérprojektet állítja vissza. --erő, amely minden függőséget megoldani, még akkor is, ha az utolsó helyreállítás sikeres volt. Ez egyenértékű azzal, mintha project.assets.json törölnénk. Végrehajtási szempontból a CLI parancsok a paramétereiket felépítik a "eredeti" MSBuild-hez, hogy beállítsák a kívánt tulajdonságokat és a kívánt célt. Ennek jobban illusztrálására lásd a következő parancsot:
Ez a parancs az alkalmazást a pub mappába adja a Publish konfigurációval keresztül. Belsőleg ez a parancs a következő MSBuild hívásra fordítható:
Határozd meg az alkalmazásod célplatformját
Hozz létre egy címkét a csproj fájl részében (amely az alkalmazásod célplatformjának meghatározásához szolgál), <PropertyGroup> <RuntimeIdentifiers> majd megadd a futásidejű azonosítót (RID) minden célplatformhoz. Fontos megjegyezni, hogy a RID-ek szétválasztásához is kötelező a félbasszula. Nézze meg a Runtime Identifier Catalog-ban a futási idejű azonosítók listáját. Például a következő <PropertyGroup> szakasz azt mutatja, hogy az alkalmazás egy 64 bites Windows 10 operációs rendszeren és egy 64 bites OS X 10.11-es verzión fut.
Ha csak a win10 x64 platform alatt szeretnénk elosztást generálni, a következő parancsot tudjuk végrehajtani:
Kimeneti mappa: C:\project\dotnet\test1\bin\release\netcoreapp2.1\win10-x64\publish, az egész mappa 66M-et tartalmaz, ami elég nagy, ahogy az alábbi ábrán is látható:
Generáljuk a kiadási csomagot a centos.7-x64 platformon keresztül, van 70M, ami szintén elég nagy, próbáljuk meg centos 7-en kiadni, hogy végrehajtsuk (A .NET Core SDK nincs telepítve CentOS 7 rendszerekre)。
A rendszer adatai a következők:
[root@master ~]# uname -a Linux master 3.10.0-862.el7.x86_64 #1 SMP Péntek április 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux [root@master ~]# macska /etc/redhat-release CentOS Linux kiadás 7.6.1810 (Mag) Feltöltjük a fájlt a temp könyvtárba, és megpróbáljuk futtatni a test1 fájlt, amely normálisan kiindulható, a következőképpen működik:
[root@master ~]# mkdir temp [root@master ~]# cd temp/ [root@master temp]# ./teszt1 -bash: ./test1: Nem elég jogosultság [root@master temp]# cd .. [root@master ~]# chmod -R 777 temp/ [root@master ~]# cd temp/ [root@master temp]# ./teszt1 Helló világ! [root@master temp]# visszhangja "http://www.itsvse.com"
http://www.itsvse.com [root@master tempó] #
3、. NET Core Run azonosító
.NET Core RID, a RID a Runtime Identifier rövidítése. A RID értékeket arra használják, hogy azonosítsák azt a célplatformot, amelyen az alkalmazás fut. A .NET csomagok ezeket használják arra, hogy a platformspecifikus eszközöket ábrázolják a NuGet csomagokban. A következő értékek a RID példái: linux-x64, ubuntu.14.04-x64, win7-x64 vagy osx.10.12-x64. A natív függőségű csomagok esetén a RID megadja azt a platformot, amelyen a csomag visszaállítható.
<RuntimeIdentifier> Be lehet állítani egy RID-et a projektfájl elemében. Több RID definiálható egy <RuntimeIdentifiers> lista (félvesszővel elválasztva) egy projektfájl elemeiben.
Az adott operációs rendszert képviselő RID-ek általában a következő mintát követik: [os]. [verzió]-[architektúra]-[további kvalifikátorok], ahol:
- [OS] az operációs rendszer/platform rendszerneve. Például az ubuntu.
- [verzió] az operációs rendszer verziója, amelyet egy pont (.) verziószám formáz. Például 15.10. A verziók nem lehetnek marketing kiadások, mivel általában több különálló operációs rendszer verziót képviselnek különböző platform API perifériákkal.
- [architektúra] a processzor architektúra. Például: x86, x64, arm vagy arm64.
- [további minősítések] tovább különböztetik a különböző platformokat. Például az AOT vagy Corert.
Konkrét bevezetés:https://docs.microsoft.com/zh-cn/dotnet/core/rid-catalog
4、. A NET Core létrehozza a NuGet csomagokat
A .NET Standard és .NET Core esetében minden könyvtárat NuGet csomagként kell kiadni. Valójában így publikálnak és használják az összes .NET szabványos könyvtárat. Ez könnyen elérhető a dotnet pack parancs segítségével.
(Vége)
|