dotnet-install scripts reference

Név

dotnet-install.ps1 | dotnet-install.sh - A .NET SDK és a megosztott futtatókörnyezet telepítéséhez használt szkript.

Szinopszis

Windows:

dotnet-install.ps1 [-Architecture <ARCHITECTURE>] [-AzureFeed]
    [-Channel <CHANNEL>] [-DryRun] [-FeedCredential]
    [-InstallDir <DIRECTORY>] [-JSonFile <JSONFILE>]
    [-NoCdn] [-NoPath] [-ProxyAddress] [-ProxyBypassList <LIST_OF_URLS>]
    [-ProxyUseDefaultCredentials] [-Quality <QUALITY>] [-Runtime <RUNTIME>]
    [-SkipNonVersionedFiles] [-UncachedFeed] [-KeepZip] [-ZipPath <PATH>] [-Verbose]
    [-Version <VERSION>]

Get-Help ./dotnet-install.ps1

Linux/macOS:

dotnet-install.sh  [--architecture <ARCHITECTURE>] [--azure-feed]
    [--channel <CHANNEL>] [--dry-run] [--feed-credential]
    [--install-dir <DIRECTORY>] [--jsonfile <JSONFILE>]
    [--no-cdn] [--no-path] [--quality <QUALITY>]
    [--runtime <RUNTIME>] [--runtime-id <RID>]
    [--skip-non-versioned-files] [--uncached-feed] [--keep-zip] [--zip-path <PATH>] [--verbose]
    [--version <VERSION>]

dotnet-install.sh --help

A bash-szkript a PowerShell-kapcsolókat is olvassa, így a PowerShell-kapcsolókat Linux/macOS rendszereken is használhatja a szkripttel.

Leírás

A dotnet-install szkriptek a .NET SDK nem rendszergazdai telepítését hajtják végre, amely tartalmazza a .NET CLI-t és a megosztott futtatókörnyezetet. Két szkript létezik:

Feljegyzés

A .NET telemetriai adatokat gyűjt. További információkért és a letiltás módjáról a .NET SDK telemetriai adatairól olvashat.

Cél

A szkriptek célja a folyamatos integrációs (CI) forgatókönyvek használata, ahol:

  • Az SDK-t felhasználói beavatkozás és rendszergazdai jogosultságok nélkül kell telepíteni.

  • Az SDK telepítésének nem kell több CI-futtatáson keresztül megmaradnia.

    Az események tipikus sorozata:

    • A CI aktiválódik.
    • A CI ezen szkriptek egyikével telepíti az SDK-t.
    • A CI befejezi a munkát, és törli az ideiglenes adatokat, beleértve az SDK telepítését is.

Fejlesztési környezet beállításához vagy alkalmazások futtatásához használja a telepítőket a szkriptek helyett.

Javasoljuk, hogy a szkriptek stabil verzióját használja:

A szkriptek forrása a dotnet/install-scripts GitHub-adattárban található.

Szkript viselkedése

Mindkét szkriptnek ugyanaz a viselkedése. Letöltik a ZIP/tarball fájlt a CLI buildcseppekből, és az alapértelmezett helyen vagy a megadott -InstallDir|--install-dirhelyen telepítik.

A telepítési szkriptek alapértelmezés szerint letöltik és telepítik az SDK-t. Ha csak a megosztott futtatókörnyezetet szeretné beszerezni, adja meg az -Runtime|--runtime argumentumot.

Alapértelmezés szerint a szkript hozzáadja a telepítési helyet az aktuális munkamenet $PATH. Az argumentum megadásával felülbírálhatja ezt az alapértelmezett viselkedést -NoPath|--no-path . A szkript nem állítja be a környezeti változót DOTNET_ROOT .

Fontos

A szkript nem adja hozzá a telepítési helyet a felhasználó környezeti változóhoz PATH , manuálisan kell hozzáadnia.

A szkript futtatása előtt telepítse a szükséges függőségeket.

Az argumentum használatával telepíthet egy adott verziót -Version|--version . A verziót háromrészes verziószámként kell megadni, például 2.1.0. Ha a verzió nincs megadva, a szkript telepíti a verziót latest .

A telepítési szkriptek nem frissítik a beállításjegyzéket Windows rendszeren. Csak letöltik a tömörített bináris fájlokat, és átmásolják őket egy mappába. Ha frissíteni szeretné a beállításkulcs értékeit, használja a .NET-telepítőket.

Beállítások

  • -Architecture|--architecture <ARCHITECTURE>

    A telepíteni kívánt .NET bináris fájlok architektúrája. A lehetséges értékek a következők<auto>: , x64amd64, x86, arm64, arm, s390xés ppc64le. Az alapértelmezett érték a <auto>jelenleg futó operációsrendszer-architektúra.

  • -AzureFeed|--azure-feed

    Csak belső használatra. Lehetővé teszi egy másik tároló használatát az SDK-archívumok letöltéséhez. Ezt a paramétert csak akkor használja a rendszer, ha a --no-cdn hamis. Az alapértelmezett érték https://dotnetcli.azureedge.net/dotnet.

  • -Channel|--channel <CHANNEL>

    Megadja a telepítés forráscsatornáját. A lehetséges értékek a következők:

    • STS: A legújabb standard kifejezéstámogatási kiadás.
    • LTS: A legutóbbi hosszú távú támogatási kiadás.
    • Kétrészes verzió A.B formátumban, amely egy adott kiadást jelöl (például 3.18.0).
    • Háromrészes verzió A.B.Cxx formátumban, amely egy adott SDK-kiadást jelöl (például 8.0.1xx vagy 8.0.2xx). Az 5.0-s kiadás óta érhető el.

    A version paraméter felülbírálja a paramétert channel , ha a nem használt verziót latest használja.

    Az alapértelmezett érték LTS. A .NET támogatási csatornáiról további információt a .NET támogatási szabályzat oldalán talál.

  • -DryRun|--dry-run

    Ha be van állítva, a szkript nem fogja végrehajtani a telepítést. Ehelyett megjeleníti a .NET CLI jelenleg kért verziójának konzisztens telepítéséhez használandó parancssort. Ha például megadja a verziót latest, megjelenik egy hivatkozás az adott verzióval, hogy ez a parancs determinisztikusan használható legyen egy buildszkriptben. A bináris hely is megjelenik, ha inkább saját maga szeretné telepíteni vagy letölteni.

  • -FeedCredential|--feed-credential

    Lekérdezési sztringként használható az Azure-hírcsatornához való hozzáfűzéshez. Lehetővé teszi az URL-cím módosítását nem nyilvános Blob Storage-fiókok használatára.

  • --help

    Kiírja a szkript súgóját. Csak bash-szkriptre vonatkozik. A PowerShellhez használja a következőt Get-Help ./dotnet-install.ps1: .

  • -InstallDir|--install-dir <DIRECTORY>

    Megadja a telepítési útvonalat. A címtár akkor jön létre, ha nem létezik. Az alapértelmezett érték a %LocalAppData%\Microsoft\dotnet windowsos és $HOME/.dotnet Linux/macOS rendszeren. A bináris fájlok közvetlenül ebbe a könyvtárba kerülnek.

  • -JSonFile|--jsonfile <JSONFILE>

    Megadja az SDK-verzió meghatározásához használt global.json fájl elérési útját. A global.json fájlnak a következő értékével kell rendelkeznie sdk:version: .

  • -NoCdn|--no-cdn

    Letiltja a letöltést az Azure Content Delivery Networkből (CDN), és közvetlenül használja a nem gyorsítótárazott hírcsatornát.

  • -NoPath|--no-path

    Ha be van állítva, a telepítési mappa nem lesz exportálva az aktuális munkamenet elérési útjára. Alapértelmezés szerint a szkript módosítja a PATH-ot, ami a telepítés után azonnal elérhetővé teszi a .NET CLI-t.

  • -ProxyAddress

    Ha be van állítva, a telepítő a proxyt használja a webes kérések során. (Csak Windows esetén érvényes.)

  • -ProxyBypassList <LIST_OF_URLS>

    Ha be van állítva, azoknak a vesszővel ProxyAddresstagolt URL-címeknek a listáját adja meg, amelyek megkerülik a proxyt. (Csak Windows esetén érvényes.)

  • -ProxyUseDefaultCredentials

    Ha be van állítva, a telepítő az aktuális felhasználó hitelesítő adatait használja proxycím használatakor. (Csak Windows esetén érvényes.)

  • -Quality|--quality <QUALITY>

    Letölti a megadott minőség legújabb buildét a csatornán. A lehetséges értékek a következők: daily, signed, validated, previewés GA. A felhasználók többsége használjon daily, previewvagy GA tulajdonságokat.

    A különböző minőségi értékek a telepített SDK vagy futtatókörnyezet kiadási folyamatának különböző szakaszait jelzik.

    • daily: Az SDK vagy a Runtime legújabb buildjei. Minden nap épülnek, és nem tesztelik őket. Éles használatra nem ajánlottak, de gyakran használhatók bizonyos funkciók vagy javítások tesztelésére közvetlenül a termékbe való egyesítése után. Ezek a buildek az dotnet/installer adattárból származnak, ezért ha javításokat keres, dotnet/sdk várnia kell a kód áramlására, és egyesítenie kell őket az SDK-ból a Telepítőbe, mielőtt egy napi buildben megjelennek.
    • signed: A Microsoft által aláírt buildek, amelyek nincsenek érvényesítve vagy nyilvánosan közzéteve. Az aláírt buildek érvényesítésre, előzetes verzióra és GA-kiadásra jelölt buildek. Ez a minőségi szint nem nyilvános használatra készült.
    • validated: Azok a buildek, amelyek belső tesztelést végeztek rajtuk, de még nem jelentek meg előzetes verzióként vagy GA-ként. Ez a minőségi szint nem nyilvános használatra készült.
    • preview: A .NET következő, nyilvános használatra szánt verziójának havi nyilvános kiadásai. Éles használathoz nem ajánlott. Célja, hogy a felhasználók kísérletezhessenek és teszteljék az új főverziót a kiadás előtt.
    • GA: A .NET SDK és a Runtime végleges stabil kiadásai. Nyilvános használatra, valamint az éles környezet támogatására szolgál.

    A --quality beállítás csak a következővel --channelkombinálva működik, de nem alkalmazható a csatornákra és LTS a STS csatornákra, és figyelmen kívül lesz hagyva, ha az egyik ilyen csatornát használja.

    SDK-telepítéshez használjon channel olyan értéket, amely formátuma A.B vagy A.B.Cxx formátuma. Futásidejű telepítéshez használja channel a formátumot A.B .

    Ne használjon mindkettőt version és quality paramétert. Ha quality meg van adva, a szkript önállóan határozza meg a megfelelő verziót.

    Az 5.0-s kiadás óta érhető el.

  • -Runtime|--runtime <RUNTIME>

    Csak a megosztott futtatókörnyezetet telepíti, nem a teljes SDK-t. A lehetséges értékek a következők:

    • dotnet: A Microsoft.NETCore.App megosztott futtatókörnyezet.
    • aspnetcore: A Microsoft.AspNetCore.App megosztott futtatókörnyezet.
    • windowsdesktop A Microsoft.WindowsDesktop.App megosztott futtatókörnyezet.
  • --os <OPERATING_SYSTEM>

    Azt az operációs rendszert adja meg, amelyre az eszközök telepítve vannak. A lehetséges értékek a következők: osx, macos, linux, linux-musl. freebsd

    A paraméter nem kötelező, és csak akkor használható, ha felül kell bírálnia a szkript által észlelt operációs rendszert.

  • -SharedRuntime|--shared-runtime

    Feljegyzés

    Ez a paraméter elavult, és a szkript egy későbbi verziójában eltávolítható. A javasolt alternatíva a -Runtime|--runtime lehetőség.

    Csak a megosztott futtatókörnyezeti biteket telepíti, nem a teljes SDK-t. Ez a beállítás egyenértékű a beállítással -Runtime|--runtime dotnet.

  • -SkipNonVersionedFiles|--skip-non-versioned-files

    Kihagyja a nem verziószámozott fájlok( például dotnet.exe) telepítését, ha már léteznek.

  • -UncachedFeed|--uncached-feed

    Csak belső használatra. Lehetővé teszi egy másik tároló használatát az SDK-archívumok letöltéséhez. Ezt a paramétert csak akkor használja a rendszer, ha a --no-cdn igaz.

  • -KeepZip|--keep-zip

    Ha be van állítva, a letöltött SDK-archívum a telepítés után megmarad.

  • -ZipPath|--zip-path <PATH>

Ha be van állítva, a letöltött SDK-archívum a megadott elérési úton lesz tárolva.

  • -Verbose|--verbose

    Diagnosztikai információkat jelenít meg.

  • -Version|--version <VERSION>

    Egy adott buildverziót jelöl. A lehetséges értékek a következők:

    • latest: Legújabb buildelés a csatornán (a -Channel beállítással együtt használva).
    • Háromrészes verzió X.Y.Z formátumban, amely egy adott buildverziót jelöl; felülírja a -Channel beállítást. Például: 2.0.0-preview2-006120

    Ha nincs megadva, -Version az alapértelmezett érték a .latest

Példák

  • Telepítse a legújabb, hosszú távú támogatott (LTS) verziót az alapértelmezett helyre:

    Windows:

    ./dotnet-install.ps1 -Channel LTS
    

    macOS/Linux:

    ./dotnet-install.sh --channel LTS
    
  • Telepítse a 6.0.1xx SDK legújabb előzetes verzióját a megadott helyre:

    Windows:

    ./dotnet-install.ps1 -Channel 6.0.1xx -Quality preview -InstallDir C:\cli
    

    macOS/Linux:

    ./dotnet-install.sh --channel 6.0.1xx --quality preview --install-dir ~/cli
    
  • Telepítse a megosztott futtatókörnyezet 6.0.0-s verzióját:

    Windows:

    ./dotnet-install.ps1 -Runtime dotnet -Version 6.0.0
    

    macOS/Linux:

    ./dotnet-install.sh --runtime dotnet --version 6.0.0
    
  • Szerezze be a szkriptet, és telepítse a 6.0.2-es verziót egy vállalati proxy mögé (csak Windows esetén):

    Invoke-WebRequest 'https://dot.net/v1/dotnet-install.ps1' -Proxy $env:HTTP_PROXY -ProxyUseDefaultCredentials -OutFile 'dotnet-install.ps1';
    ./dotnet-install.ps1 -InstallDir '~/.dotnet' -Version '6.0.2' -Runtime 'dotnet' -ProxyAddress $env:HTTP_PROXY -ProxyUseDefaultCredentials;
    
  • Szerezze be a szkriptet, és telepítse a .NET CLI egysoros példáit:

    Windows:

    # Run a separate PowerShell process because the script calls exit, so it will end the current PowerShell session.
    &powershell -NoProfile -ExecutionPolicy unrestricted -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; &([scriptblock]::Create((Invoke-WebRequest -UseBasicParsing 'https://dot.net/v1/dotnet-install.ps1'))) <additional install-script args>"
    

    macOS/Linux:

    curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin <additional install-script args>
    

Környezeti változók beállítása

A .NET manuális telepítése nem adja hozzá a környezeti változókat a rendszer egészében, és általában csak arra a munkamenetre működik, amelyben a .NET telepítve volt. Két környezeti változót kell beállítania az operációs rendszerhez:

  • DOTNET_ROOT

    Ez a változó arra a mappára van állítva, amelybe a .NET telepítve volt, például $HOME/.dotnet Linux és macOS esetén, valamint $HOME\.dotnet a Windows PowerShellben.

  • PATH

    Ennek a változónak tartalmaznia kell a DOTNET_ROOT mappát és a felhasználó .dotnet/tools mappáját is. $HOME/.dotnet/tools Ez általában Linuxon és macOS-en, valamint $HOME\.dotnet\tools a Windows PowerShellben történik.

Tipp.

Linux és macOS esetén a echo parancs használatával állítsa be a rendszerhéjprofil változóit, például .bashrc:

echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools' >> ~/.bashrc

Eltávolítás

Nincs eltávolítási szkript. A .NET manuális eltávolításáról további információt a .NET-futtatókörnyezet és az SDK eltávolítása című témakörben talál.

A dotnet-install.sh aláírás-ellenőrzése

Az aláírás-ellenőrzés fontos biztonsági intézkedés, amely segít biztosítani a szkriptek hitelességét és integritását. A szkript aláírásának ellenőrzésével meggyőződhet arról, hogy nem módosították, és megbízható forrásból származik.

Az alábbiakban részletes útmutatót talál a szkript gpg használatával történő hitelességének dotnet-install.sh ellenőrzéséhez:

  1. Telepítse a GPG-t: A GPG (GNU Privacy Guard) egy ingyenes és nyílt forráskódú eszköz az adatok titkosításához és aláírásához. A telepítéshez kövesse a GPG webhelyén található utasításokat.
  2. Importálja a nyilvános kulcsot: Töltse le a telepítési szkriptek nyilvános kulcsfájlját , majd importálja a GPG-kulcstartóba a parancs futtatásával gpg --import dotnet-install.asc.
  3. Töltse le az aláírási fájlt: A bash-szkript aláírási fájlja a következő címen https://dot.net/v1/dotnet-install.sigérhető el: . Letöltheti egy olyan eszközzel, mint wget vagy curl.
  4. Ellenőrizze az aláírást: A bash-szkript aláírásának ellenőrzéséhez futtassa a parancsot gpg --verify dotnet-install.sig dotnet-install.sh. Ezzel ellenőrzi a fájl aláírását dotnet-install.sh a fájlban lévő aláíráson dotnet-install.sig .
  5. Ellenőrizze az eredményt: Ha az aláírás érvényes, megjelenik egy üzenetet tartalmazó Good signature from "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>"üzenet. Ez azt jelenti, hogy a szkriptet nem módosították, és megbízhatónak tekinthetők.

Környezet előkészítése

A GPG telepítése és a nyilvános kulcs importálása egyszeri művelet.

sudo apt install gpg
wget https://dot.net/v1/dotnet-install.asc
gpg --import dotnet-install.asc

Ha sikeres, a kimenetnek az alábbihoz hasonlóan kell megjelennie:

gpg: directory '/home/<user>/.gnupg' created
gpg: keybox '/home/<user>/.gnupg/pubring.kbx' created
gpg: /home/<user>/.gnupg/trustdb.gpg: trustdb created
gpg: key B9CF1A51FC7D3ACF: public key "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1

Letöltés és ellenőrzés

Az importált kulccsal letöltheti a szkriptet és az aláírást, majd ellenőrizheti, hogy a szkript megfelel-e az aláírásnak:

wget https://dot.net/v1/dotnet-install.sh
wget https://dot.net/v1/dotnet-install.sig
gpg --verify dotnet-install.sig dotnet-install.sh

Ha sikeres, a kimenetnek az alábbihoz hasonlóan kell megjelennie:

gpg: Signature made <datetime>
gpg:                using RSA key B9CF1A51FC7D3ACF
gpg: Good signature from "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 2B93 0AB1 228D 11D5 D7F6  B6AC B9CF 1A51 FC7D 3ACF

A figyelmeztetés azt jelenti, hogy nem bízik a kulcsírásban a nyilvános kulcsban, de a szkript továbbra is ellenőrzött. Az ellenőrző parancs által visszaadott kilépési kódnak sikeresnek kell lennie 0.

Lásd még