1. NET Core -komentorivikäyttöliittymä (CLI) -työkalu project.json poistettiin käytöstä ja korvattiin .csproj-tiedostolla, jota project.json käytetty projektin konfiguraatiotiedostona varhaisessa .NET-ytimessä, ja arvioidaan, että Microsoft poisti sen käytöstä löydettyään ongelmia, ja MSBuildia käytettiin edelleen .net-käännöstyökaluna.
MSBuild esittelee:https://docs.microsoft.com/zh-cn ... sbuild?view=vs-2017
Kun teemme VS:n kääntämisen ja generoinnin, VS auttaa meitä kutsumaan MSBuild-työkalun, mikä tarkoittaa, että kun käännämme .NET-projektin, meidän ei tarvitse asentaa VS-työkalua lainkaan.
.NET Core CLI -työkalukomento on seuraava:
.NET komentorivityökalut (2.1.301) Käyttö: dotnet [ajonaikaiset asetukset] [polku sovellukseen] Käyttö: dotnet [sdk-options] [komento] [argumentit] [command-options]
path-to-application: Polku sovellukseen .dll suoritettava tiedosto.
SDK-komennot: new käynnistää .NET-projektin. palauttaa .NET-projektissa määritellyt riippuvuudet. ajaa ja suorita .NET-projekti välittömästi. build .NET-projekti. publish julkaisee .NET-projektin käyttöönottoa varten (mukaan lukien ajonaikainen). Testaus suorittaa yksikkötestejä projektissa määritellyn testin suorittajan avulla. pakkaa NuGet-paketin luomiseksi. siirtää project.json-pohjaiset projektit MSBuild-pohjaisiin projekteihin. puhdas, puhdas, tuotettu tulos. SLN-muokkausratkaisu (SLN) -tiedosto. Lisää viittaukseen. Poista projektista. Listaa työkalut, joihin projekti viittaa tai asentaa. NuGet tarjoaa lisäkomentoja. msbuild käyttää Microsoft Build Engineä (MSBuild). vstest suorittaa Microsoft Test Execution -komentorivityökalun. Store tallentaa määritellyn kokoonpanon ajonaikaiseen varastoon. työkalu asentaa tai käyttää työkaluja, jotka laajentavat .NET-kokemusta. build-server on vuorovaikutuksessa palvelimen kanssa, jonka build-versio käynnistää. Apu osoittaa apua.
Yleiset vaihtoehdot: -v|--puhe määrittää komennon yksityiskohtien tason. Sallitut arvot ovat Q[UIET], M[inimal], N[Ormal], D[etailed] ja diag[nostic]. -h|--apu näyttää apua.
Suorita dotnet-komento – apua saadaksesi lisätietoja komennosta.
sdk-options: --versio näyttää käytössä olevan .NET Core SDK -version. --info näyttää .NET Core -tiedot. --list-sdks näyttääkseen asennetun SDK:n. --list-runtimes näyttää asennetun ajonajan. -d|--diagnostiikka mahdollistaa diagnostisen tuloksen.
runtime-options: --additionalprobingpath <path> Polku, joka sisältää koettimen politiikan ja kokouksen tutkintaan. --fx-versio <version> jaetun kehyksen asennetusta versiosta, jota käytetään sovelluksen ajamiseen. --roll-forward-on-no-candidate-fx "No Roll Forward to Candidate Shared Framework" on käytössä. --lisä-DEP <path> :t polulle muihin deps.json tiedostoihin.
Lisätyökalut ('dotnet [tool-name] --help' lisätietoja varten): dev-sertifikaatit Luo ja hallinnoi kehityssertifikaatteja. ef Entity Framework Core komentorivityökalut. sql-cache SQL Server välimuistikomentorivityökalut. käyttäjäsalaisuudet Hallinnoi kehityksen käyttäjäsalaisuuksia. katso Käynnistä tiedostonvalvoja, joka suorittaa komennon, kun tiedostot muuttuvat.
2. Kokoelma ja julkaisu
Julkaise .NET-projekti käyttöönottoa varten (mukaan lukien ajonaika). dotnet publish
C:\project\dotnet\test1>dotnet publish --help Käyttö: dotnet publish [vaihtoehdot]
Vaihtoehdot: -h, --ohje näyttää aputiedot. -o, --output <OUTPUT_DIR> käytetään julkaistun kohteen ulostulohakemiston sijoittamiseen. -f, --<FRAMEWORK>kehys Julkaistava kohdekehys. Kohdekehys on määriteltävä projektidokumentissa. -r, --<RUNTIME_IDENTIFIER>runtime julkaise projektin tietylle ajonajalle. Käytä tätä luodessasi itsenäisiä käyttöönottoja. Oletustoiminto on julkaista sovellus, joka riippuu kehyksestä. -c, --konfiguraatiota käytetään <CONFIGURATION> projektin konfiguraatioiden generointiin. Useimpien projektien oletusarvo on "Debug". --version-sufffix <VERSION_SUFFIX> määrittelee $(VersionSuffix)-ominaisuuden arvon projektissasi. --manifest <manifest.xml> Polku kohdemanifestitiedostoon, joka sisältää listan paketeista, jotka suoritetaan julkaisuvaiheen kautta. --ei-rakenna Älä rakenna projektia ennen julkaisua. Vihjaa --ei palautusta. --itsenäiset mukana olevat sovellukset julkaisevat .NET Core -ajonaikaa, jolloin ajonaikainen asennus kohdekoneelle ei tarvitse asentaa. Jos ajon aikainen tunniste on määritelty, se oletuksena on "true". --ei-palautus Älä suorita implisiittistä palautusta komentoa suorittaessaan. -v, --puhe määrittää käskyn yksityiskohtien tason. Sallitut arvot ovat Q[UIET], M[inimal], N[Ormal], D[etailed] ja diag[nostic]. --no-dependencies asettaa tämän lipun sivuuttamaan projektien väliset viittaukset ja palauttamaan vain juuriprojektin. --pakottaa kaikki riippuvuudet ratkaistaviksi, vaikka viimeinen palautus olisi onnistunut. Tämä vastaa project.assets.json poistamista. Suorituksen näkökulmasta CLI-komennot ottavat parametrinsa ja rakentavat kutsun "alkuperäiselle" MSBuildille asettaakseen halutut ominaisuudet ja halutun kohteen suoritettavaksi. Havainnollistaaksesi tätä paremmin, katso seuraava komento:
Tämä komento julkaisee sovelluksen pub-kansioon Julkaise-konfiguraatiolla. Sisäisesti tämä komento tarkoittaa seuraavaa MSBuild-kutsua:
Määrittele sovelluksesi kohdealusta
Luo tunniste cspró-tiedoston osioon (jota käytetään sovelluksen kohdealustan määrittämiseen) <PropertyGroup> <RuntimeIdentifiers> ja määritä sitten ajonaikainen tunniste (RID) jokaiselle kohdealustalle. Huomaa, että RID:ien erottamiseen tarvitaan myös puolipisteitä. Tarkista Runtime Identifier Catalogista lista ajonaikaisista tunnisteista. Esimerkiksi seuraava <PropertyGroup> osio osoittaa, että sovellus toimii 64-bittisellä Windows 10 -käyttöjärjestelmällä ja 64-bittisellä OS X -versiolla 10.11.
Jos haluamme generoida jakelun vain win10 x64 -alustan alapuolella, voimme suorittaa seuraavan komennon:
Tulostuskansio: C:\project\dotnet\test1\bin\release\netcoreapp2.1\win10-x64\publish, koko kansiossa on 66M, mikä on melko suuri, kuten alla olevassa kuvassa näkyy:
Luo julkaisupaketti centos.7-x64-alustalla, siinä on 70M, joka on myös melko suuri, yritetään julkaista se centos 7:llä suorittaaksemme sen (.NET Core SDK ei ole asennettu CentOS 7 -järjestelmiin)。
Järjestelmän tiedot ovat seuraavat:
[root@master ~]# uname -a Linux master 3.10.0-862.el7.x86_64 #1 SMP Pe 20. huhtikuuta 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux [root@master ~]# kissa /etc/redhat-release CentOS Linux -versio 7.6.1810 (Core) Lataamme tiedoston väliaikaiseen hakemistoon ja yritämme suorittaa test1-tiedoston, joka voidaan tuottaa normaalisti seuraavasti:
[root@master ~]# mkdir temp [root@master ~]# cd temp/ [root@master lämpötila]# ./testi1 -bash: ./test1: Käyttöoikeuksia ei ole tarpeeksi [root@master temp]# cd .. [root@master ~]# chmod -R 777 temp/ [root@master ~]# cd temp/ [root@master lämpötila]# ./testi1 Moi maailma! [root@master temp]# kaiku "http://www.itsvse.com"
http://www.itsvse.com [root@master lämpötila] #
3、. NET Core Run -tunniste
.NET Core RID, RID on lyhenne sanoista Runtime Identifier. RID-arvoja käytetään tunnistamaan kohdealusta, jolla sovellus toimii. .NET-paketit käyttävät niitä edustamaan alustakohtaisia assetteja NuGet-paketeissa. Seuraavat arvot ovat esimerkkejä RID:stä: linux-x64, ubuntu.14.04-x64, win7-x64 tai osx.10.12-x64. Paketeille, joilla on natiiviriippuvuuksia, RID määrittää alustan, jolla paketti voidaan palauttaa.
<RuntimeIdentifier> Voit asettaa RID:n projektitiedoston elementtiin. Useita RID:iä voidaan määritellä <RuntimeIdentifiers> listana (erotettu puolipisteillä) projektitiedoston elementeissä.
RID:t, jotka edustavat tiettyä käyttöjärjestelmää, noudattavat tyypillisesti seuraavaa kaavaa: [os]. [versio]-[arkkitehtuuri]-[lisämääritykset], missä:
- [os] on käyttöjärjestelmän/alustan järjestelmän nimi. Esimerkiksi Ubuntu.
- [versio] on käyttöjärjestelmäversio, joka on muotoiltu pisteellä (.) versionumerolla. Esimerkiksi 15.10. Versioiden ei tulisi olla markkinointijulkaisuja, sillä ne edustavat tyypillisesti useita erillisiä käyttöjärjestelmän versioita eri alustan API-oheislaitteilla.
- [arkkitehtuuri] on prosessorin arkkitehtuuri. Esimerkiksi: x86, x64, arm tai arm64.
- [lisätarkennukset] erottavat eri alustot entisestään. Esimerkiksi AOT tai Corert.
Tarkempi johdanto:https://docs.microsoft.com/zh-cn/dotnet/core/rid-catalog
4、. NET Core luo NuGet-paketteja
.NET Standardin ja .NET Coren kohdalla kaikki kirjastot tulisi julkaista NuGet-paketteina. Itse asiassa näin kaikki .NET-standardikirjastot julkaistaan ja käytetään. Tämä onnistuu helposti dotnet pack -komennolla.
(Loppu)
|