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.

Recomendamos que você use a versão estável dos scripts:

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 e arm. 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 ou 6.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 o channel parâmetro quando qualquer versão que não latest 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 com channel. 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 em A.B ou A.B.Cxx formatar. Para uma instalação de runtime, use channel em A.B formato.

    Não use ambos e versionquality parâmetros. Quando quality é 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 compartilhado Microsoft.NETCore.App.
    • aspnetcore: o runtime compartilhado Microsoft.AspNetCore.App.
    • windowsdesktop: o runtime compartilhado Microsoft.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ão latest.

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>
    

Confira também