Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Zachowanie skryptu instalacji uległo zmianie. Pobiera platformę .NET z nowych lokalizacji sieciowych. Aby uzyskać więcej informacji, zobacz Krytyczne: linki instalacji platformy .NET zmieniają się.
Nazwisko
dotnet-install.ps1
|
dotnet-install.sh — Skrypt służący do instalowania zestawu .NET SDK i środowiska uruchomieniowego udostępnionego.
Streszczenie
Windows:
dotnet-install.ps1 [-Architecture <ARCHITECTURE>] [-AzureFeed]
[-Channel <CHANNEL>] [-DryRun] [-FeedCredential]
[-InstallDir <DIRECTORY>] [-JSonFile <JSONFILE>]
[-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-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
Skrypt powłoki bash odczytuje również przełączniki programu PowerShell, dzięki czemu można używać przełączników programu PowerShell ze skryptem w systemach Linux/macOS.
opis
Skrypty dotnet-install wykonują instalację zestawu SDK platformy .NET, która obejmuje interfejs wiersza polecenia platformy .NET i środowisko uruchomieniowe udostępnione. Istnieją dwa skrypty:
- Skrypt programu PowerShell, który działa w systemie Windows. Aby uzyskać instrukcje dotyczące instalacji, zobacz Instalowanie w systemie Windows.
- Skrypt powłoki bash, który działa w systemie Linux/macOS. Aby uzyskać instrukcje dotyczące instalacji, zobacz Instalowanie w systemie Linux i instalowanie w systemie macOS.
Uwaga
Platforma .NET zbiera dane telemetryczne. Aby dowiedzieć się więcej i jak zrezygnować, zobacz Telemetria zestawu .NET SDK.
Przeznaczenie
Przeznaczenie skryptów dotyczy scenariuszy ciągłej integracji (CI), w których:
Zestaw SDK należy zainstalować bez interakcji z użytkownikiem i bez uprawnień administratora.
Instalacja zestawu SDK nie musi być utrwalana w wielu przebiegach ciągłej integracji.
Typowa sekwencja zdarzeń:
- Ciągła integracja jest wyzwalana.
- Ciągła integracja instaluje zestaw SDK przy użyciu jednego z tych skryptów.
- Ciągła integracja kończy pracę i czyści tymczasowe dane, w tym instalację zestawu SDK.
Aby skonfigurować środowisko programistyczne lub uruchamiać aplikacje, użyj instalatorów, a nie tych skryptów.
Rekomendowana wersja
Zalecamy używanie stabilnej wersji skryptów:
- Powłoka Bash (Linux/macOS): https://dot.net/v1/dotnet-install.sh
- PowerShell (Windows): https://dot.net/v1/dotnet-install.ps1
Źródło skryptów znajduje się w repozytorium GitHub dotnet/install-scripts .
Zachowanie skryptu
Oba skrypty mają takie samo zachowanie. Pobierają plik ZIP/tarball ze zrzutów kompilacji interfejsu wiersza polecenia i kontynuują instalację w lokalizacji domyślnej lub w lokalizacji określonej przez -InstallDir|--install-dir.
Domyślnie skrypty instalacyjne pobierają zestaw SDK i instalują go. Jeśli chcesz uzyskać tylko środowisko uruchomieniowe udostępnione, określ -Runtime|--runtime argument .
Domyślnie skrypt dodaje lokalizację instalacji do $PATH dla bieżącej sesji. Zastąpi to domyślne zachowanie, określając -NoPath|--no-path argument. Skrypt nie ustawia zmiennej środowiskowej DOTNET_ROOT .
Ważne
Skrypt nie dodaje lokalizacji instalacji do zmiennej środowiskowej użytkownika PATH . Należy dodać ją ręcznie.
Przed uruchomieniem skryptu upewnij się, że system operacyjny jest obsługiwany. Aby uzyskać więcej informacji, zobacz Instalowanie platformy .NET w systemach Windows, Linux i macOS.
Określoną wersję można zainstalować przy użyciu argumentu -Version|--version . Wersja musi być określona jako trzyczęściowy numer wersji, taki jak 2.1.0. Jeśli wersja nie zostanie określona, skrypt zainstaluje latest wersję.
Skrypty instalacji nie aktualizują rejestru w systemie Windows. Po prostu pobierają spakowane pliki binarne i kopiują je do folderu. Jeśli chcesz zaktualizować wartości kluczy rejestru, użyj instalatorów platformy .NET.
Opcje
-Architecture|--architecture <ARCHITECTURE>Architektura plików binarnych platformy .NET do zainstalowania. Możliwe wartości to
<auto>,amd64x64x86arm64arms390x, ,ppc64le, i .riscv64Wartość domyślna to<auto>, która reprezentuje obecnie uruchomioną architekturę systemu operacyjnego.-AzureFeed|--azure-feedTylko do użytku wewnętrznego. Umożliwia korzystanie z innego magazynu do pobierania archiwów zestawu SDK. Wartość domyślna to
https://builds.dotnet.microsoft.com/dotnet.-Channel|--channel <CHANNEL>Określa kanał źródłowy instalacji. Możliwe wartości to:
-
STS: najnowsza wersja standardowego wsparcia terminowego. -
LTS: najnowsza długoterminowa wersja pomocy technicznej. - Dwuczęściowa wersja w formacie A.B reprezentująca określoną wersję (na przykład
3.1lub8.0). - Trzyczęściowa wersja w formacie A.B.Cxx reprezentująca określoną wersję zestawu SDK (na przykład 8.0.1xx lub 8.0.2xx). Dostępne od wersji 5.0.
versionParametr zastępujechannelparametr, gdy jest używana dowolna wersja inna niżlatestjest używana.Domyślna wartość to
LTS. Aby uzyskać więcej informacji na temat kanałów pomocy technicznej platformy .NET, zobacz stronę Zasady pomocy technicznej platformy .NET.-
-DryRun|--dry-runW przypadku ustawienia skrypt nie wykona instalacji. Zamiast tego wyświetla wiersz polecenia używany do spójnego instalowania aktualnie żądanej wersji interfejsu wiersza polecenia platformy .NET. Jeśli na przykład określisz wersję
latest, zostanie wyświetlony link z określoną wersją, aby można było użyć tego polecenia deterministycznie w skrycie kompilacji. Wyświetla również lokalizację pliku binarnego, jeśli wolisz go zainstalować lub pobrać samodzielnie.-FeedCredential|--feed-credentialSłuży jako ciąg zapytania do dołączania do źródła danych platformy Azure. Umożliwia zmianę adresu URL na używanie kont magazynu obiektów blob innych niż publiczne.
--helpDrukuje pomoc dotyczącą skryptu. Dotyczy tylko skryptu powłoki bash. W przypadku programu PowerShell użyj polecenia
Get-Help ./dotnet-install.ps1.-InstallDir|--install-dir <DIRECTORY>Określa ścieżkę instalacji. Katalog zostanie utworzony, jeśli nie istnieje. Wartość domyślna to %LocalAppData%\Microsoft\dotnet w systemie Windows i $HOME/.dotnet w systemie Linux/macOS. Pliki binarne są umieszczane bezpośrednio w tym katalogu.
-JSonFile|--jsonfile <JSONFILE>Określa ścieżkę do pliku global.json , który będzie używany do określania wersji zestawu SDK. Plik global.json musi mieć wartość .
sdk:version-NoPath|--no-pathW przypadku ustawienia folder instalacyjny nie zostanie wyeksportowany do ścieżki bieżącej sesji. Domyślnie skrypt modyfikuje ścieżkę, dzięki czemu interfejs wiersza polecenia platformy .NET jest dostępny natychmiast po zainstalowaniu.
-ProxyAddressW przypadku ustawienia instalator używa serwera proxy podczas wykonywania żądań internetowych. (Tylko prawidłowe dla systemu Windows).
-ProxyBypassList <LIST_OF_URLS>Jeśli ustawiono wartość z parametrem
ProxyAddress, zawiera listę adresów URL rozdzielanych przecinkami, które będą pomijać serwer proxy. (Tylko prawidłowe dla systemu Windows).-ProxyUseDefaultCredentialsW przypadku ustawienia instalator używa poświadczeń bieżącego użytkownika podczas korzystania z adresu serwera proxy. (Tylko prawidłowe dla systemu Windows).
-Quality|--quality <QUALITY>Pobiera najnowszą kompilację określonej jakości w kanale. Możliwe wartości to:
daily,previewiGA.Różne wartości jakości sygnalizuje różne etapy procesu wydania zainstalowanego zestawu SDK lub środowiska uruchomieniowego.
-
daily: najnowsze kompilacje zestawu SDK lub środowiska uruchomieniowego. Są one tworzone codziennie i nie są testowane. Nie są one zalecane do użytku produkcyjnego, ale często mogą być używane do testowania określonych funkcji lub poprawek natychmiast po ich scaleniu z produktem. Te kompilacje pochodzą zdotnet/installerrepozytorium, więc jeśli szukasz poprawek,dotnet/sdkmusisz poczekać na przepływ kodu i scalić go z zestawu SDK do Instalatora, zanim pojawi się w codziennej kompilacji. -
preview: miesięczne publiczne wydania następnej wersji platformy .NET przeznaczonej do użytku publicznego. Nie zaleca się używania w środowisku produkcyjnym. Ma na celu umożliwienie użytkownikom eksperymentowania i testowania nowej wersji głównej przed wydaniem. -
GA: ostateczne stabilne wersje zestawu .NET SDK i środowiska uruchomieniowego. Przeznaczone do użytku publicznego, a także do obsługi produkcyjnej.
Opcja
--qualitydziała tylko w połączeniu z elementem--channel, ale nie ma zastosowania doSTSkanałów iLTSi zostanie zignorowana, jeśli jeden z tych kanałów jest używany.W przypadku instalacji zestawu SDK użyj
channelwartości, która jest w formacie lubA.B.A.B.CxxW przypadku instalacji środowiska uruchomieniowego użyjchannelformatuA.B.Nie używaj parametrów
versioni .qualityPoqualityokreśleniu skrypt określa właściwą wersję samodzielnie.Dostępne od wersji 5.0.
-
-Runtime|--runtime <RUNTIME>Instaluje tylko środowisko uruchomieniowe udostępnione, a nie cały zestaw SDK. Możliwe wartości to:
-
dotnetMicrosoft.NETCore.App: udostępnione środowisko uruchomieniowe. -
aspnetcoreMicrosoft.AspNetCore.App: udostępnione środowisko uruchomieniowe. -
windowsdesktopUdostępnioneMicrosoft.WindowsDesktop.Appśrodowisko uruchomieniowe.
-
--os <OPERATING_SYSTEM>Określa system operacyjny, dla którego są instalowane narzędzia. Możliwe wartości to:
osx, ,macoslinux,linux-musl,freebsd.Parametr jest opcjonalny i powinien być używany tylko wtedy, gdy jest wymagany do zastąpienia systemu operacyjnego wykrytego przez skrypt.
-SharedRuntime|--shared-runtimeUwaga
Ten parametr jest przestarzały i może zostać usunięty w przyszłej wersji skryptu. Zalecaną alternatywą
-Runtime|--runtimejest opcja.Instaluje tylko bity środowiska uruchomieniowego udostępnionego, a nie całego zestawu SDK. Ta opcja jest równoważna określeniu
-Runtime|--runtime dotnetelementu .-SkipNonVersionedFiles|--skip-non-versioned-filesPomija instalowanie plików innych niż wersje, takich jak dotnet.exe, jeśli już istnieją.
-UncachedFeed|--uncached-feedTylko do użytku wewnętrznego. Umożliwia korzystanie z innego magazynu do pobierania archiwów zestawu SDK. Ten parametr zastępuje
-AzureFeed|--azure-feed.-KeepZip|--keep-zipW przypadku ustawienia pobrane archiwum zestawu SDK jest przechowywane po instalacji.
-ZipPath|--zip-path <PATH>W przypadku ustawienia pobrane archiwum zestawu SDK jest przechowywane w określonej ścieżce.
-Verbose|--verboseWyświetla informacje diagnostyczne.
-Version|--version <VERSION>Reprezentuje określoną wersję kompilacji. Możliwe wartości to:
-
latest: najnowsza kompilacja w kanale (używana z opcją-Channel). - Trzyczęściowa wersja w formacie X.Y.Z reprezentująca określoną wersję kompilacji;
-Channelzastępuje opcję . Na przykład:2.0.0-preview2-006120.
Jeśli nie zostanie określony,
-Versionwartość domyślna tolatest.-
Przykłady
Zainstaluj najnowszą wersję obsługiwaną długoterminową (LTS) do lokalizacji domyślnej:
Windows:
./dotnet-install.ps1 -Channel LTSmacOS/Linux:
./dotnet-install.sh --channel LTSZainstaluj najnowszą wersję zapoznawcza zestawu SDK 6.0.1xx do określonej lokalizacji:
Windows:
./dotnet-install.ps1 -Channel 6.0.1xx -Quality preview -InstallDir C:\climacOS/Linux:
./dotnet-install.sh --channel 6.0.1xx --quality preview --install-dir ~/cliZainstaluj wersję środowiska uruchomieniowego udostępnionego w wersji 6.0.0:
Windows:
./dotnet-install.ps1 -Runtime dotnet -Version 6.0.0macOS/Linux:
./dotnet-install.sh --runtime dotnet --version 6.0.0Uzyskaj skrypt i zainstaluj wersję 6.0.2 za firmowym serwerem proxy (tylko system 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;Uzyskaj skrypt i zainstaluj przykłady jednego wiersza polecenia platformy .NET:
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>Zainstaluj wiele wersji, nie zastępując
dotnetplików binarnych z poprzednich instalacji.Jeśli zainstalujesz zestawy SDK platformy .NET lub środowisko uruchomieniowe platformy .NET z wcześniejszej wersji na nowszej wersji, musisz użyć
--skip-non-versioned-filestych samych plików, aby pliki "niewersyfikowane"dotnetz wcześniejszej wersji nie zastępowały tych samych plików z nowszej wersji.:~ $ ./dotnet-install.sh --channel 9.0 --install-dir local-dotnet # installs the latest 9 SDK to the specified directory dotnet-install: Attempting to download using aka.ms link https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.303/dotnet-sdk-9.0.303-linux-x64.tar.gz dotnet-install: Remote file https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.303/dotnet-sdk-9.0.303-linux-x64.tar.gz size is 218004272 bytes. dotnet-install: Extracting archive from https://builds.dotnet.microsoft.com/dotnet/Sdk/9.0.303/dotnet-sdk-9.0.303-linux-x64.tar.gz dotnet-install: Downloaded file size is 218004272 bytes. dotnet-install: The remote and local file sizes are equal. dotnet-install: Installed version is 9.0.303 dotnet-install: Adding to current process PATH: `$HOME/local-dotnet`. Note: This change will be visible only when sourcing script. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install, select your operating system and check the "Dependencies" section. dotnet-install: Installation finished successfully. :~ $ ./local-dotnet/dotnet --list-runtimes # see what runtimes we have available Microsoft.AspNetCore.App 9.0.7 [$HOME/local-dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 9.0.7 [$HOME/local-dotnet/shared/Microsoft.NETCore.App] :~ $ ./local-dotnet/dotnet --list-sdks # see what SDKs we have available 9.0.303 [$HOME/local-dotnet/sdk] :~ $ ./dotnet-install.sh --channel 8.0 --install-dir local-dotnet --skip-non-versioned-files # install the 8 SDK to the same place, but keep the 9 dotnet binaries dotnet-install: Attempting to download using aka.ms link https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.412/dotnet-sdk-8.0.412-linux-x64.tar.gz dotnet-install: Remote file https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.412/dotnet-sdk-8.0.412-linux-x64.tar.gz size is 216096947 bytes. dotnet-install: Extracting archive from https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.412/dotnet-sdk-8.0.412-linux-x64.tar.gz dotnet-install: Downloaded file size is 216096947 bytes. dotnet-install: The remote and local file sizes are equal. dotnet-install: Installed version is 8.0.412 dotnet-install: Adding to current process PATH: `$HOME/local-dotnet`. Note: This change will be visible only when sourcing script. dotnet-install: Note that the script does not resolve dependencies during installation. dotnet-install: To check the list of dependencies, go to https://learn.microsoft.com/dotnet/core/install, select your operating system and check the "Dependencies" section. dotnet-install: Installation finished successfully. :~ $ ./local-dotnet/dotnet --list-runtimes # we should have 8 and 9 Runtimes now Microsoft.AspNetCore.App 8.0.18 [$HOME/local-dotnet/shared/Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 9.0.7 [$HOME/local-dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 8.0.18 [$HOME/local-dotnet/shared/Microsoft.NETCore.App] Microsoft.NETCore.App 9.0.7 [$HOME/local-dotnet/shared/Microsoft.NETCore.App] :~ $ ./local-dotnet/dotnet --list-sdks # we should have 2 SDKs now 8.0.412 [$HOME/local-dotnet/sdk] 9.0.303 [$HOME/local-dotnet/sdk]
Ustawianie zmiennych środowiskowych
Ręczne instalowanie platformy .NET nie powoduje dodania zmiennych środowiskowych dla całego systemu i ogólnie działa tylko dla sesji, w której zainstalowano platformę .NET. Istnieją dwie zmienne środowiskowe, które należy ustawić dla systemu operacyjnego:
DOTNET_ROOTTa zmienna jest ustawiona na folder .NET został zainstalowany, na przykład
$HOME/.dotnetdla systemów Linux i macOS oraz$HOME\.dotnetw programie PowerShell dla systemu Windows.PATHTa zmienna powinna zawierać zarówno folder, jak
DOTNET_ROOTi folder .dotnet/tools użytkownika. Ogólnie jest$HOME/.dotnet/toolsto w systemach Linux i macOS oraz$HOME\.dotnet\toolsw programie PowerShell w systemie Windows.
Napiwek
W przypadku systemów Linux i macOS użyj echo polecenia , aby ustawić zmienne w profilu powłoki, takie jak bashrc:
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools' >> ~/.bashrc
Odinstaluj program
Nie ma skryptu odinstalowywania. Aby uzyskać informacje na temat ręcznego odinstalowywania platformy .NET, zobacz Jak usunąć środowisko uruchomieniowe platformy .NET i zestaw SDK.
Walidacja podpisu dotnet-install.sh
Walidacja podpisu to ważna miara zabezpieczeń, która pomaga zapewnić autentyczność i integralność skryptu. Sprawdzając podpis skryptu, możesz mieć pewność, że nie został on naruszony i pochodzi z zaufanego źródła.
Oto szczegółowy przewodnik dotyczący weryfikowania autentyczności skryptu dotnet-install.sh przy użyciu grupy zasad grupy:
- Instalowanie gpG: GPG (GNU Privacy Guard) to bezpłatne narzędzie typu open source do szyfrowania i podpisywania danych. Można go zainstalować, postępując zgodnie z instrukcjami w witrynie internetowej grupy zasad grupy.
-
Zaimportuj klucz publiczny: pobierz plik klucza publicznego install-scripts, a następnie zaimportuj go do klucza gpG, uruchamiając polecenie
gpg --import dotnet-install.asc. -
Pobierz plik podpisu: plik podpisu dla naszego skryptu powłoki bash jest dostępny pod adresem
https://dot.net/v1/dotnet-install.sig. Możesz go pobrać przy użyciu narzędzia takiego jakwgetlubcurl. -
Sprawdź podpis: Aby zweryfikować podpis skryptu powłoki bash, uruchom polecenie
gpg --verify dotnet-install.sig dotnet-install.sh. Spowoduje to sprawdzenie podpisudotnet-install.shpliku względem podpisu wdotnet-install.sigpliku. -
Sprawdź wynik: jeśli podpis jest prawidłowy, zostanie wyświetlony komunikat zawierający
Good signature from "Microsoft DevUXTeamPrague <devuxteamprague@microsoft.com>". Oznacza to, że skrypt nie został naruszony i może być zaufany.
Przygotowywanie środowiska
Instalowanie grupy zasad grupy i importowanie klucza publicznego jest jednorazową operacją.
sudo apt install gpg
wget https://dot.net/v1/dotnet-install.asc
gpg --import dotnet-install.asc
Po pomyślnym zakończeniu powinny zostać wyświetlone dane wyjściowe podobne do następujących:
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
Pobieranie i weryfikacja
Zaimportowany klucz umożliwia teraz pobranie skryptu i podpisu, a następnie sprawdzenie, czy skrypt jest zgodny z 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 pomyślnym zakończeniu powinny zostać wyświetlone dane wyjściowe podobne do następujących:
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
Ostrzeżenie oznacza, że nie ufasz kluczowi publicznemu w kluczu kluczy, ale skrypt jest nadal weryfikowany. Kod zakończenia zwrócony przez polecenie weryfikacji powinien wskazywać 0powodzenie.