referência de scripts dotnet-install
Nome
dotnet-install.ps1
| dotnet-install.sh
– Script usado para instalar o SDK do .NET e o runtime compartilhado.
Sinopse
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
O script de bash também lê comutadores do PowerShell. Portanto, você pode usar comutadores do PowerShell com o script nos sistemas Linux/macOS.
Descrição
Os dotnet-install
scripts executam uma instalação não administradora do SDK do .NET, que inclui a CLI do .NET e o runtime compartilhado. Há dois scripts:
- Um script do PowerShell que funciona no Windows.
- Um script bash que funciona no Linux/macOS.
Observação
O .NET coleta dados de telemetria. Para saber mais e como recusar, consulte a telemetria do SDK do .NET.
Finalidade
O uso pretendido dos scripts é para cenários de CI (Integração Contínua), em que:
O SDK precisa ser instalado sem interação do usuário e sem direitos de administrador.
A instalação do SDK não precisa persistir em várias execuções de CI.
A sequência típica de eventos:
- A CI é disparada.
- A CI instala o SDK usando um desses scripts.
- A CI conclui seu trabalho e limpa dados temporários, incluindo a instalação do SDK.
Para configurar um ambiente de desenvolvimento ou executar aplicativos, use os instaladores em vez desses scripts.
Versão recomendada
Recomendamos que você use a versão estável dos scripts:
- Bash (Linux/macOS): https://dot.net/v1/dotnet-install.sh
- PowerShell (Windows): https://dot.net/v1/dotnet-install.ps1
Comportamento de script
Ambos os scripts têm o mesmo comportamento. Eles baixam o arquivo ZIP/tarball das quedas de build da CLI e prossseguem para instalá-lo no local padrão ou em um local especificado por -InstallDir|--install-dir
.
Por padrão, os scripts de instalação baixam o SDK e o instalam. Se você quiser obter somente o runtime compartilhado, especifique o argumento -Runtime|--runtime
.
Por padrão, o script adiciona o local de instalação ao $PATH da sessão atual. Substitua esse comportamento padrão especificando o argumento -NoPath|--no-path
. O script não define a variável de DOTNET_ROOT
ambiente.
Antes de executar o script, instale as dependências necessárias.
Você pode instalar uma versão específica usando o argumento -Version|--version
. A versão deve ser especificada como um número de versão de três partes, como 2.1.0
. Se a versão não for especificada, o script instalará a latest
versão.
Os scripts de instalação não atualizam o registro no Windows. Eles apenas baixam os binários compactados e os copiam para uma pasta. Se você quiser que os valores de chave do Registro sejam atualizados, use os instaladores do .NET.
Opções
-Architecture|--architecture <ARCHITECTURE>
Arquitetura dos binários .NET a serem instalados. Os valores possíveis são
<auto>
,amd64
,x64
,x86
,arm64
earm
. O valor padrão é<auto>
, que representa a arquitetura do sistema operacional em execução no momento.-AzureFeed|--azure-feed
Apenas para uso interno. Permite o uso de um armazenamento diferente para baixar arquivos do SDK. Esse parâmetro só será usado se --no-cdn for false. O padrão é
https://dotnetcli.azureedge.net/dotnet
.-Channel|--channel <CHANNEL>
Especifica o canal de origem da instalação. Os valores possíveis são:
Current
: versão mais atual.LTS
: canal de suporte de longo prazo (versão mais atual compatível).- Versão de duas partes no formato A.B, representando uma versão específica (por exemplo,
3.1
ou6.0
). - Versão de três partes no formato A.B.Cxx, representando uma versão específica do SDK (por exemplo, 6.0.1xx ou 6.0.2xx). Disponível desde a versão 5.0.
O
version
parâmetro substitui ochannel
parâmetro quando qualquer versão que nãolatest
seja usada.O valor padrão é
LTS
. Para saber mais sobre os canais de suporte do .NET, consulte a página Política de suporte do .NET.-DryRun|--dry-run
Se definido, o script não executará a instalação. Em vez disso, ele exibe qual linha de comando usar para instalar consistentemente a versão solicitada atualmente da CLI do .NET. Por exemplo, se você especificar a versão
latest
, será exibido um link com a versão específica, para que este comando possa ser usado de forma determinista em um script de build. Ele também exibirá o local dos binários, caso você prefira instalá-lo ou baixá-lo por conta própria.-FeedCredential|--feed-credential
Usado como uma cadeia de caracteres de consulta para acrescentar ao feed do Azure. Permite alterar a URL para usar contas de armazenamento de blobs não públicos.
--help
Imprime a ajuda do script. Aplica-se somente ao script bash. Para o PowerShell, use
Get-Help ./dotnet-install.ps1
.-InstallDir|--install-dir <DIRECTORY>
Especifica o caminho da instalação. O diretório será criado se não existir. O valor padrão é %LocalAppData%\Microsoft\dotnet no Windows e $HOME/.dotnet no Linux/macOS. Os binários são colocados diretamente nesse diretório.
-JSonFile|--jsonfile <JSONFILE>
Especifica um caminho para um arquivo global.json que será usado para determinar a versão do SDK. O arquivo global.json deve ter um valor para
sdk:version
.-NoCdn|--no-cdn
Desabilita o download da Rede de Distribuição de Conteúdo (CDN) Azure e usa o feed não armazenado em cache diretamente.
-NoPath|--no-path
Se definida, a pasta de instalação não será exportada para o caminho da sessão atual. Por padrão, o script modifica o PATH, que disponibiliza a CLI do .NET imediatamente após a instalação.
-ProxyAddress
Se for definido, o instalador usará o proxy ao fazer solicitações da Web. (Válido somente para Windows.)
-ProxyBypassList <LIST_OF_URLS>
Se definido com
ProxyAddress
, fornece uma lista de URLs separadas por vírgula que ignorarão o proxy. (Válido somente para Windows.)ProxyUseDefaultCredentials
Se definido, o instalador usará as credenciais do usuário atual ao usar o endereço de proxy. (Válido somente para Windows.)
-Quality|--quality <QUALITY>
Baixa o build mais recente da qualidade especificada no canal. Os valores possíveis são:
daily
, ,signed
,validated
, ,preview
.GA
. Funciona apenas em combinação comchannel
. Não aplicável aos canais atuais e LTS e será ignorado se um desses canais for usado.Para uma instalação do SDK, use
channel
emA.B
ouA.B.Cxx
formatar. Para uma instalação de runtime, usechannel
emA.B
formato.Não use ambos e
version
quality
parâmetros. Quandoquality
é especificado, o script determina a versão adequada por conta própria.Disponível desde a versão 5.0.
-Runtime|--runtime <RUNTIME>
Instala apenas o runtime compartilhado, não todo o SDK. Os valores possíveis são:
dotnet
: o runtime compartilhadoMicrosoft.NETCore.App
.aspnetcore
: o runtime compartilhadoMicrosoft.AspNetCore.App
.windowsdesktop
: o runtime compartilhadoMicrosoft.WindowsDesktop.App
.
--os <OPERATING_SYSTEM>
Especifica o sistema operacional para o qual as ferramentas estão sendo instaladas. Os valores possíveis são:
osx
, ,linux
,linux-musl
,freebsd
.O parâmetro é opcional e só deve ser usado quando for necessário substituir o sistema operacional detectado pelo script.
-SharedRuntime|--shared-runtime
Observação
Esse parâmetro está obsoleto e pode ser removido em uma versão futura do script. A alternativa recomendada é a opção
-Runtime|--runtime
.Instala apenas os bits de runtime compartilhado, não todo o SDK. Essa opção é equivalente a especificar
-Runtime|--runtime dotnet
.-SkipNonVersionedFiles|--skip-non-versioned-files
Ignora a instalação de arquivos sem controle de versão, como dotnet.exe, se já existirem.
-UncachedFeed|--uncached-feed
Apenas para uso interno. Permite o uso de um armazenamento diferente para baixar arquivos do SDK. Esse parâmetro só será usado se --no-cdn for true.
-Verbose|--verbose
Exibe informações de diagnóstico.
-Version|--version <VERSION>
Representa uma versão específica do build. Os valores possíveis são:
latest
: build mais recente no canal (usado com a opção-Channel
).- Versão de três partes no formato X.Y.Z que representa uma determinada versão do build; substitui a opção
-Channel
. Por exemplo:2.0.0-preview2-006120
.
Se não for especificada, a
-Version
assumirá o padrãolatest
.
Exemplos
Instale a versão LTS (suportada a longo prazo) no local padrão:
Windows:
./dotnet-install.ps1 -Channel LTS
macOS/Linux:
./dotnet-install.sh --channel LTS
Instale a versão prévia mais recente do SDK 6.0.1xxx para o local especificado:
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
Instale a versão 6.0.0 do runtime compartilhado:
Windows:
./dotnet-install.ps1 -Runtime dotnet -Version 6.0.0
macOS/Linux:
./dotnet-install.sh --runtime dotnet --version 6.0.0
Obtenha o script e instale a versão 6.0.2 por trás de um proxy corporativo (somente 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;
Obtenha script e instale exemplos de linha única da CLI do .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>