Dotnet-Installationsskripts Verweis

name

dotnet-install.ps1 | dotnet-install.sh: Skript für die Installation des .NET SDK und der Shared Runtime

Übersicht

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] [-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] [--verbose]
    [--version <VERSION>]

dotnet-install.sh --help

Das Bash-Skript liest auch PowerShell-Schalter, sodass Sie PowerShell-Schalter mit dem Skript auf Linux/macOS-Systemen verwenden können.

Beschreibung

Die dotnet-install-Skripts führen eine Nicht-Administrator-Installation des .NET SDK durch, das die .NET-CLI und die Shared Runtime enthält. Es gibt zwei Skripts:

  • Ein PowerShell-Skript, das unter Windows verwendet werden kann
  • Ein Bash-Skript für Linux/macOS

Hinweis

.NET sammelt Telemetriedaten. Weitere Informationen über die Sammlung von Telemetriedaten sowie darüber, wie diese deaktiviert wird, finden Sie unter .NET-SDK-Telemetrie.

Zweck

Diese Skripts sind für die Verwendung in Continuous Integration-Szenarios (CI) konzipiert, in denen Folgendes zutrifft:

  • Das SDK muss ohne Benutzerinteraktion und ohne Administratorrechte installiert werden.

  • Die SDK-Installation muss nicht für mehrere CI-Ausführungen beibehalten werden.

    Die typische Sequenz für Ereignisse lautet folgendermaßen:

    • Die CI wird ausgelöst.
    • Die CI installiert das SDK mithilfe eines dieser Skripts.
    • Die CI schließt ihre Aufgaben ab und bereinigt temporäre Daten einschließlich der SDK-Installation.

Verwenden Sie die Installationsprogramme anstatt dieser Skripts, um eine Entwicklungsumgebung einzurichten oder um Apps auszuführen.

Es wird empfohlen, die stabile Version der Skripts zu verwenden:

Skriptverhalten

Beide Skripts weisen das gleiche Verhalten auf. Sie laden die ZIP-/Tarball-Datei vom CLI-Build-Ablagespeicherort herunter und installieren sie entweder am Standardspeicherort oder an einem in -InstallDir|--install-dir angegebenen Speicherort.

In der Standardeinstellung laden die Installationsskripts das SDK herunter und installieren es. Wenn Sie nur die freigegebene Laufzeit abrufen möchten, geben Sie das -Runtime|--runtime-Argument an.

In der Standardeinstellung fügt das Skript den Installationsort dem $PATH für die aktuelle Sitzung hinzu. Überschreiben Sie dieses Standardverhalten, indem sie das -NoPath|--no-path-Argument angeben. Das Skript legt die Umgebungsvariable DOTNET_ROOT nicht fest.

Bevor Sie das Skript ausführen, installieren Sie die erforderlichen Abhängigkeiten.

Installieren Sie eine bestimmte Version mithilfe des Arguments -Version|--version. Die Version muss als dreiteilige Versionsnummer (z. B. 2.1.0) angegeben werden. Wenn die Version nicht angegeben wird, installiert das Skript die latest-Version.

Die Installationsskripts aktualisieren die Registrierung unter Windows nicht. Sie laden nur die gezippten Binärdateien herunter und kopieren sie in einen Ordner. Wenn Sie möchten, dass die Registrierungsschlüsselwerte aktualisiert werden, verwenden Sie die .NET-Installer.

Optionen

  • -Architecture|--architecture <ARCHITECTURE>

    Architektur der zu installierenden .NET-Binärdateien. Mögliche Werte sind <auto>, amd64, x64, x86, arm64, arm und s390x. Der Standardwert ist <auto>, was die derzeit ausgeführte Betriebssystemarchitektur darstellt.

  • -AzureFeed|--azure-feed

    Nur zur internen Verwendung. Ermöglicht die Verwendung eines anderen Speichers zum Herunterladen von SDK-Archiven. Dieser Parameter wird nur verwendet, wenn --no-cdn false ist. Der Standardwert ist https://dotnetcli.azureedge.net/dotnet.

  • -Channel|--channel <CHANNEL>

    Gibt den Quellkanal für die Installation an. Mögliche Werte sind:

    • STS – das neueste Release für den Support für Standardlaufzeiten
    • LTS – die neueste Version des Long Term Support
    • Zweiteilige Version im A.B-Format, das eine bestimmte Version darstellt (z. B. 3.1 oder 6.0).
    • Dreiteilige Version im A.B.Cxx-Format, die ein bestimmtes SDK-Release darstellt (z. B. 6.0.1xx oder 6.0.2xx). Verfügbar seit Release 5.0.

    Der version-Parameter überschreibt den channel-Parameter, wenn eine andere Version als latest verwendet wird.

    Der Standardwert ist LTS. Weitere Informationen zu .NET-Supportkanälen finden Sie auf der Seite .NET-Supportrichtlinie.

  • -DryRun|--dry-run

    Wenn festgelegt, führt das Skript die Installation nicht aus. Es zeigt stattdessen an, welche Befehlszeile verwendet werden soll, um die derzeit erforderliche Version der .NET-CLI konsistent zu installieren. Wenn Sie z.B. Version latest angeben, wird eine Verbindung mit der bestimmten Version angezeigt, damit dieser Befehl deterministisch in einem Buildskript verwendet werden kann. Außerdem wird der Speicherort der Binärdatei angezeigt, wenn Sie sie selbst installieren oder herunterladen möchten.

  • -FeedCredential|--feed-credential

    Wird als Abfragezeichenfolge zum Anfügen an den Azure-Feed verwendet. Ermöglicht das Ändern der URL, um nicht öffentliche Blob Storage-Konten verwenden zu können.

  • --help

    Druckt Hilfe für das Skript aus. Gilt nur für das Bash-Skript. Verwenden Sie Get-Help ./dotnet-install.ps1 für PowerShell.

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

    Gibt den Installationspfad an. Das Verzeichnis wird erstellt, wenn es nicht vorhanden ist. Der Standardwert lautet %LocalAppData%\Microsoft\dotnet unter Windows und $HOME/.dotnet unter Linux/macOS. Binärdateien werden direkt im Verzeichnis platziert.

  • -JSonFile|--jsonfile <JSONFILE>

    Gibt einen Pfad zu einer global.json-Datei an, die zur Bestimmung der SDK-Version verwendet wird. Die Datei global.json muss einen Wert für sdk:version haben.

  • -NoCdn|--no-cdn

    Deaktiviert das Herunterladen aus dem Azure Content Delivery Network (CDN) und verwendet den nicht zwischengespeicherten Feed direkt.

  • -NoPath|--no-path

    Wenn festgelegt, wird der Installationsordner nicht in den Pfad für die aktuelle Sitzung exportiert. Standardmäßig ändert das Skript den Pfad (PATH), wodurch die .NET-CLI sofort nach der Installation zur Verfügung steht.

  • -ProxyAddress

    Wenn festgelegt, verwendet das Installationsprogramm den Proxy bei der Durchführung von Webanfragen. (Nur gültig für Windows)

  • -ProxyBypassList <LIST_OF_URLS>

    Wenn diese Einstellung mit ProxyAddressfestgelegt ist, wird eine Liste mit durch Trennzeichen getrennten URLs bereitstellt, die den Proxy umgehen. (Nur gültig für Windows)

  • -ProxyUseDefaultCredentials

    Wenn festgelegt, verwendet der Installer bei Verwendung der Proxyadresse die Anmeldeinformationen des aktuellen Benutzers. (Nur gültig für Windows)

  • -Quality|--quality <QUALITY>

    Lädt den neuesten Build der angegebenen Qualität im Kanal herunter. Mögliche Werte sind: daily, signed, validated, preview, GA. Funktioniert nur in Kombination mit channel. Gilt nicht für STS- und LTS-Kanäle und wird ignoriert, wenn einer dieser Kanäle verwendet wird.

    Verwenden Sie für eine SDK-Installation channel im A.B- oder A.B.Cxx-Format. Verwenden Sie für eine Laufzeitinstallation channel im A.B-Format.

    Verwenden Sie weder Parameter noch versionquality Parameter. Wenn quality angegeben wird, bestimmt das Skript die richtige Version selbst.

    Verfügbar seit Release 5.0.

  • -Runtime|--runtime <RUNTIME>

    Es wird nur die freigegebene Runtime installiert und nicht das gesamte SDK. Mögliche Werte sind:

    • dotnet – die freigegebene Runtime von Microsoft.NETCore.App.
    • aspnetcore – die freigegebene Runtime von Microsoft.AspNetCore.App.
    • windowsdesktop – die freigegebene Runtime von Microsoft.WindowsDesktop.App.
  • --os <OPERATING_SYSTEM>

    Hiermit wird das Betriebssystem angegeben, für das die Tools installiert werden. Mögliche Werte sind: osx, linux, linux-musl, freebsd.

    Der Parameter ist optional und sollte nur verwendet werden, wenn er für die Außerkraftsetzung des Betriebssystems erforderlich ist, das vom Skript erkannt wurde.

  • -SharedRuntime|--shared-runtime

    Hinweis

    Dieser Parameter ist veraltet und wird in einer zukünftigen Version des Skripts möglicherweise entfernt. Die empfohlene Alternative ist die -Runtime|--runtime-Option.

    Es werden nur die freigegebenen Runtimebestandteile installiert und nicht das gesamte SDK. Diese Option entspricht der Angabe von -Runtime|--runtime dotnet.

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

    Die Installation nicht versionierte Dateien, wie dotnet.exe, wird übersprungen, falls diese bereits vorhanden sind.

  • -UncachedFeed|--uncached-feed

    Nur zur internen Verwendung. Ermöglicht die Verwendung eines anderen Speichers zum Herunterladen von SDK-Archiven. Dieser Parameter wird nur verwendet, wenn --no-cdn true ist.

  • -Verbose|--verbose

    Es werden Diagnoseinformationen angezeigt.

  • -Version|--version <VERSION>

    Stellt eine bestimmte Buildversion dar. Mögliche Werte sind:

    • latest – der neueste Build auf dem Kanal (mit der -Channel-Option verwendet).
    • Dreiteilige Version im X.Y.Z-Format, die eine bestimmte Buildversion darstellt; sie hat Vorrang vor der -Channel-Option. Beispiel: 2.0.0-preview2-006120.

    Wenn nichts angegeben ist, wird für -Version standardmäßig latest verwendet.

Beispiele

  • Installieren Sie die neueste langfristig unterstützte (Long-Term Supported, LTS) Version am Standardspeicherort:

    Windows:

    ./dotnet-install.ps1 -Channel LTS
    

    Mac OS/Linux:

    ./dotnet-install.sh --channel LTS
    
  • Installieren Sie die neueste Vorschauversion des SDK 6.0.1xx am angegebenen Speicherort:

    Windows:

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

    Mac OS/Linux:

    ./dotnet-install.sh --channel 6.0.1xx --quality preview --install-dir ~/cli
    
  • Installieren Sie die Version 6.0.0 der freigegebenen Runtime:

    Windows:

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

    Mac OS/Linux:

    ./dotnet-install.sh --runtime dotnet --version 6.0.0
    
  • Rufen Sie das Skript ab, und installieren Sie die Version 6.0.2 hinter einem Unternehmensproxy (nur 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;
    
  • Rufen Sie das Skript ab, und installieren Sie die einzeiligen Beispiele für die .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>"
    

    Mac OS/Linux:

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

Festlegen von Umgebungsvariablen

Durch die manuelle Installation von .NET werden die Umgebungsvariablen nicht systemweit hinzugefügt, und in der Regel funktioniert sie nur für die Sitzung, in der .NET installiert wurde. Es gibt zwei Umgebungsvariablen, die Sie für Ihr Betriebssystem festlegen sollten:

  • DOTNET_ROOT

    Diese Variable ist auf den Ordner festgelegt, in dem .NET installiert wurde, z $HOME/.dotnet . B. für Linux und macOS, und $HOME\.dotnet in PowerShell für Windows.

  • PATH

    Diese Variable sollte sowohl den DOTNET_ROOT Ordner als auch den .dotnet/tools-Ordner des Benutzers enthalten. Im Allgemeinen ist $HOME/.dotnet/tools dies unter Linux und macOS und $HOME\.dotnet\tools in PowerShell unter Windows.

Tipp

Verwenden Sie für Linux und macOS den echo Befehl, um die Variablen in Ihrem Shellprofil festzulegen, z . B. bashrc:

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

Siehe auch