dotnet-install scripts reference

Název

dotnet-install.ps1 | dotnet-install.sh – Skript použitý k instalaci sady .NET SDK a sdíleného modulu runtime.

Synopse

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

Skript Bash také čte přepínače PowerShellu, takže můžete použít přepínače PowerShellu se skriptem v systémech Linux/macOS.

Popis

Skripty dotnet-install provádějí instalaci sady .NET SDK, která není správcem, včetně rozhraní příkazového řádku .NET a sdíleného modulu runtime. Existují dva skripty:

Poznámka:

.NET shromažďuje telemetrická data. Další informace a způsob odhlášení najdete v tématu Telemetrie sady .NET SDK.

Účel

Zamýšlené použití skriptů je pro scénáře kontinuální integrace (CI), kde:

  • Sadu SDK je potřeba nainstalovat bez zásahu uživatele a bez práv správce.

  • Instalace sady SDK nemusí přetrvávat napříč několika spuštěními CI.

    Typická posloupnost událostí:

    • Ci se aktivuje.
    • CI nainstaluje sadu SDK pomocí jednoho z těchto skriptů.
    • CI dokončí svou práci a vymaže dočasná data včetně instalace sady SDK.

Pokud chcete nastavit vývojové prostředí nebo spouštět aplikace, použijte místo těchto skriptů instalační programy.

Doporučujeme používat stabilní verzi skriptů:

Zdrojem skriptů je úložiště dotnet/install-scripts Na GitHubu.

Chování skriptu

Oba skripty mají stejné chování. Stáhnou soubor ZIP/tarball z buildu ROZHRANÍ příkazového řádku a postoupí k jeho instalaci do výchozího umístění nebo do umístění určeného -InstallDir|--install-dir.

Ve výchozím nastavení instalační skripty stáhnutí sady SDK a jejich instalace. Pokud chcete získat pouze sdílený modul runtime, zadejte -Runtime|--runtime argument.

Ve výchozím nastavení skript přidá umístění instalace do $PATH pro aktuální relaci. Toto výchozí chování můžete přepsat zadáním argumentu -NoPath|--no-path . Skript nenastaví proměnnou DOTNET_ROOT prostředí.

Důležité

Skript nepřidá umístění instalace do proměnné prostředí uživatele PATH , musíte ho přidat ručně.

Před spuštěním skriptu nainstalujte požadované závislosti.

Konkrétní verzi můžete nainstalovat pomocí argumentu -Version|--version . Verze musí být zadána jako číslo verze se třemi částmi, například 2.1.0. Pokud verze není zadaná, skript nainstaluje latest verzi.

Instalační skripty neaktualizují registr ve Windows. Jednoduše si stáhnou komprimované binární soubory a zkopírují je do složky. Pokud chcete aktualizovat hodnoty klíče registru, použijte instalační programy .NET.

Možnosti

  • -Architecture|--architecture <ARCHITECTURE>

    Architektura binárních souborů .NET, které se mají nainstalovat Možné hodnoty jsou <auto>, , amd64, x64, arm64x86arm, , s390xa .ppc64le Výchozí hodnota je <auto>, která představuje aktuálně spuštěnou architekturu operačního systému.

  • -AzureFeed|--azure-feed

    Jen pro interní potřebu Umožňuje stahovat archivy sady SDK z jiného úložiště. Tento parametr se používá pouze v případě, že --no-cdn je false. Výchozí hodnota je https://dotnetcli.azureedge.net/dotnet.

  • -Channel|--channel <CHANNEL>

    Určuje zdrojový kanál pro instalaci. Možné hodnoty:

    • STS: Nejnovější verze standardní podpory termínů.
    • LTS: Nejnovější verze dlouhodobé podpory.
    • Dvoudílná verze ve formátu A.B představující konkrétní verzi (například 3.18.0).
    • Třídílná verze ve formátu A.B.Cxx představující konkrétní verzi sady SDK (například 8.0.1xx nebo 8.0.2xx). K dispozici od verze 5.0.

    Parametr version přepíše channel parametr, pokud se použije jakákoli jiná verze, než latest je použita.

    Výchozí hodnota je LTS. Další informace o kanálech podpory .NET najdete na stránce zásad podpory .NET.

  • -DryRun|--dry-run

    Pokud je tato možnost nastavená, skript instalaci neprovádí. Místo toho zobrazí, jaký příkazový řádek se má použít k konzistentní instalaci aktuálně požadované verze rozhraní příkazového řádku .NET CLI. Pokud například zadáte verzi latest, zobrazí odkaz s konkrétní verzí, aby tento příkaz mohl být deterministicky použit ve skriptu sestavení. Zobrazí se také umístění binárního souboru, pokud ho chcete nainstalovat nebo stáhnout sami.

  • -FeedCredential|--feed-credential

    Slouží jako řetězec dotazu pro připojení k informačnímu kanálu Azure. Umožňuje změnit adresu URL tak, aby používala nepřístupné účty úložiště objektů blob.

  • --help

    Vytiskne nápovědu pro skript. Platí pouze pro skript Bash. Pro PowerShell použijte Get-Help ./dotnet-install.ps1.

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

    Určuje instalační cestu. Adresář se vytvoří, pokud neexistuje. Výchozí hodnota je %LocalAppData%\Microsoft\dotnet ve Windows a $HOME/.dotnet v Linuxu/macOS. Binární soubory jsou umístěny přímo v tomto adresáři.

  • -JSonFile|--jsonfile <JSONFILE>

    Určuje cestu k souboru global.json , který se použije k určení verze sady SDK. Soubor global.json musí mít hodnotu pro sdk:version.

  • -NoCdn|--no-cdn

    Zakáže stahování ze služby Azure Content Delivery Network (CDN) a používá přímo kanál bez mezipaměti.

  • -NoPath|--no-path

    Pokud je nastavená, instalační složka se neexportuje do cesty pro aktuální relaci. Ve výchozím nastavení skript upraví cestu, která rozhraní příkazového řádku .NET cli zpřístupní okamžitě po instalaci.

  • -ProxyAddress

    Pokud je tato možnost nastavená, instalační program při provádění webových požadavků používá proxy server. (Platí jenom pro Windows.)

  • -ProxyBypassList <LIST_OF_URLS>

    Pokud je tato možnost nastavená ProxyAddress, poskytuje seznam adres URL oddělených čárkami, které budou proxy server obejít. (Platí jenom pro Windows.)

  • -ProxyUseDefaultCredentials

    Pokud je tato možnost nastavená, instalační program při použití adresy proxy používá přihlašovací údaje aktuálního uživatele. (Platí jenom pro Windows.)

  • -Quality|--quality <QUALITY>

    Stáhne nejnovější build zadané kvality v kanálu. Možné hodnoty jsou: daily, , signedvalidated, previewa GA. Většinauživatelůch dailypreviewGA

    Různé hodnoty kvality signalizují různé fáze procesu vydávání nainstalované sady SDK nebo modulu runtime.

    • daily: Nejnovější buildy sady SDK nebo modulu runtime. Sestavují se každý den a nejsou testovány. Nedoporučuje se pro použití v produkčním prostředí, ale často se dá použít k testování konkrétních funkcí nebo oprav ihned po jejich sloučení do produktu. Tyto buildy pocházejí z dotnet/installer úložiště, takže pokud hledáte opravy, dotnet/sdk musíte počkat na tok kódu a sloučit se ze sady SDK do instalačního programu, než se zobrazí v denním buildu.
    • signed: Sestavení podepsaná Microsoftem, která nejsou ověřená nebo veřejně vydaná. Podepsané buildy jsou kandidáty na ověření, verzi Preview a verzi GA. Tato úroveň kvality není určena pro veřejné použití.
    • validated: Buildy, u kterých proběhlo interní testování, ale ještě nejsou vydané jako verze Preview nebo GA. Tato úroveň kvality není určena pro veřejné použití.
    • preview: Měsíční veřejné verze další verze .NET určené pro veřejné použití. Nedoporučuje se pro produkční použití. Cílem je umožnit uživatelům experimentovat a testovat novou hlavní verzi před vydáním.
    • GA: Konečné stabilní verze sady .NET SDK a modulu runtime. Určeno pro veřejné použití i podporu výroby.

    Tato --quality možnost funguje pouze v kombinaci s --channel, ale není použitelná pro kanály STS a LTS bude ignorována, pokud se použije jeden z těchto kanálů.

    Pro instalaci sady SDK použijte channel hodnotu, která je ve formátu nebo A.B.Cxx ve A.B formátu. Pro instalaci modulu runtime použijte channel formát A.B .

    Nepoužívejte oba version parametry ani quality parametry. Pokud quality je zadán, skript určí správnou verzi samostatně.

    K dispozici od verze 5.0.

  • -Runtime|--runtime <RUNTIME>

    Nainstaluje pouze sdílený modul runtime, ne celou sadu SDK. Možné hodnoty:

    • dotnet: Sdílený Microsoft.NETCore.App modul runtime.
    • aspnetcore: Sdílený Microsoft.AspNetCore.App modul runtime.
    • windowsdesktop Sdílený Microsoft.WindowsDesktop.App modul runtime.
  • --os <OPERATING_SYSTEM>

    Určuje operační systém, pro který se nástroje instalují. Možné hodnoty jsou: osx, macos, linux, linux-musl, freebsd.

    Parametr je volitelný a měl by se použít pouze v případě, že je potřeba přepsat operační systém, který skript zjistí.

  • -SharedRuntime|--shared-runtime

    Poznámka:

    Tento parametr je zastaralý a může být odebrán v budoucí verzi skriptu. Doporučenou alternativou -Runtime|--runtime je možnost.

    Nainstaluje jenom sdílené bity modulu runtime, ne celou sadu SDK. Tato možnost je ekvivalentní zadání -Runtime|--runtime dotnet.

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

    Přeskočí instalaci souborů, které nejsou verze, například dotnet.exe, pokud už existují.

  • -UncachedFeed|--uncached-feed

    Jen pro interní potřebu Umožňuje stahovat archivy sady SDK z jiného úložiště. Tento parametr se používá pouze v případě, že je hodnota --no-cdn pravdivá.

  • -KeepZip|--keep-zip

    Pokud je tato sada nastavená, stažený archiv sady SDK se uchovává po instalaci.

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

Pokud je nastavená sada, stažený archiv sady SDK se uloží v zadané cestě.

  • -Verbose|--verbose

    Zobrazí diagnostické informace.

  • -Version|--version <VERSION>

    Představuje konkrétní verzi sestavení. Možné hodnoty:

    • latest: Nejnovější build v kanálu (používá se s -Channel možností).
    • Třídílná verze ve formátu X.Y.Z představující konkrétní verzi sestavení; -Channel nahrazuje možnost. Například: 2.0.0-preview2-006120.

    Pokud není zadáno, -Version je výchozí hodnota latest.

Příklady

  • Nainstalujte nejnovější dlouhodobou podporovanou verzi (LTS) do výchozího umístění:

    Windows:

    ./dotnet-install.ps1 -Channel LTS
    

    macOS/Linux:

    ./dotnet-install.sh --channel LTS
    
  • Nainstalujte nejnovější verzi Preview sady SDK 6.0.1xx do zadaného umístění:

    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
    
  • Nainstalujte verzi 6.0.0 sdíleného modulu runtime:

    Windows:

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

    macOS/Linux:

    ./dotnet-install.sh --runtime dotnet --version 6.0.0
    
  • Získejte skript a nainstalujte verzi 6.0.2 za podnikovým proxy serverem (jenom Windows):

    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;
    
  • Získejte skript a nainstalujte ukázky rozhraní příkazového řádku .NET CLI:

    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>
    

Nastavení proměnných prostředí

Ruční instalace .NET nepřidá systémové proměnné prostředí a obecně funguje jenom pro relaci, ve které byla nainstalovaná .NET. Pro operační systém byste měli nastavit dvě proměnné prostředí:

  • DOTNET_ROOT

    Tato proměnná je nastavená na složku .NET nainstalovaná, například $HOME/.dotnet pro Linux a macOS, a $HOME\.dotnet v PowerShellu pro Windows.

  • PATH

    Tato proměnná by měla obsahovat DOTNET_ROOT složku i složku .dotnet/tools uživatele. Obecně se $HOME/.dotnet/tools jedná o Linux a macOS a $HOME\.dotnet\tools v PowerShellu ve Windows.

Tip

V případě Linuxu echo a macOS použijte příkaz k nastavení proměnných v profilu prostředí, například .bashrc:

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

Odinstalace produktu

Neexistuje žádný skript pro odinstalaci. Informace o ruční odinstalaci rozhraní .NET naleznete v tématu Odebrání modulu runtime .NET a sady SDK.

Ověření podpisu dotnet-install.sh

Ověření podpisu je důležitá bezpečnostní opatření, která pomáhá zajistit pravost a integritu skriptu. Ověřením podpisu skriptu si můžete být jistí, že s ním není manipulováno a že pochází z důvěryhodného zdroje.

Tady je podrobný průvodce ověřením dotnet-install.sh pravosti skriptu pomocí gpG:

  1. Nainstalujte GPG: GPG (GNU Privacy Guard) je bezplatný opensourcový nástroj pro šifrování a podepisování dat. Můžete ho nainstalovat podle pokynů na webu GPG.
  2. Naimportujte náš veřejný klíč: Stáhněte soubor veřejného klíče install-scripts a pak ho naimportujte do klíčenky GPG spuštěním příkazu gpg --import dotnet-install.asc.
  3. Stáhněte si soubor podpisu: Soubor podpisu pro náš skript Bash je k dispozici na adrese https://dot.net/v1/dotnet-install.sig. Můžete si ho stáhnout pomocí nástroje, jako je nebo wgetcurl.
  4. Ověřte podpis: Pokud chcete ověřit podpis našeho skriptu Bash, spusťte příkaz gpg --verify dotnet-install.sig dotnet-install.sh. Tím zkontrolujete podpis dotnet-install.sh souboru proti podpisu v dotnet-install.sig souboru.
  5. Zkontrolujte výsledek: Pokud je podpis platný, zobrazí se zpráva obsahující Good signature from "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>". To znamená, že skript nebyl manipulován a může být důvěryhodný.

Příprava prostředí

Instalace GPG a import veřejného klíče je jednorázová operace.

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

Po úspěšném dokončení by se měl zobrazit výstup podobný tomuto:

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

Stažení a ověření

Když je klíč importovaný, můžete si teď stáhnout skript a podpis a ověřit, že se skript shoduje s podpisem:

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

Po úspěšném dokončení by se měl zobrazit výstup podobný tomuto:

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

Upozornění znamená, že veřejný klíč v klíči nedůvěřujete, ale skript je stále ověřený. Ukončovací kód vrácený ověřovacím příkazem by měl být 0indikující úspěch.

Viz také