UseDotNet@2 – Usar a tarefa dotnet v2

Use essa tarefa para adquirir uma versão específica do .NET Core SDK do internet ou do cache local e adicioná-la ao PATH. Use essa tarefa para alterar a versão do .NET Core que será usada em tarefas subsequentes. Essa tarefa também fornece suporte a proxy.

Sintaxe

# Use .NET Core v2
# Acquires a specific version of the .NET Core SDK from the internet or the local cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks. Additionally provides proxy support.
- task: UseDotNet@2
  inputs:
    #packageType: 'sdk' # 'runtime' | 'sdk'. Package to install. Default: sdk.
    #useGlobalJson: false # boolean. Optional. Use when packageType = sdk. Use global json. Default: false.
    #workingDirectory: # string. Optional. Use when useGlobalJson = true. Working Directory.
    #version: # string. Optional. Use when useGlobalJson = false || packageType = runtime. Version.
    #includePreviewVersions: false # boolean. Optional. Use when useGlobalJson = false  || packageType = runtime. Include Preview Versions. Default: false.
    #requestTimeout: '300000' # string. Set timeout for package download request. Default: 300000.
  # Advanced
    #vsVersion: # string. Compatible Visual Studio version.
    #checkForExistingVersion: false # boolean. Check for existing installation. Default: false.
    #installationPath: '$(Agent.ToolsDirectory)/dotnet' # string. Path To Install .Net Core. Default: $(Agent.ToolsDirectory)/dotnet.
    #performMultiLevelLookup: false # boolean. Perform Multi Level Lookup. Default: false.
# Use .NET Core v2
# Acquires a specific version of the .NET Core SDK from the internet or the local cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks. Additionally provides proxy support.
- task: UseDotNet@2
  inputs:
    #packageType: 'sdk' # 'runtime' | 'sdk'. Package to install. Default: sdk.
    #useGlobalJson: false # boolean. Optional. Use when packageType = sdk. Use global json. Default: false.
    #workingDirectory: # string. Optional. Use when useGlobalJson = true. Working Directory.
    #version: # string. Optional. Use when useGlobalJson = false || packageType = runtime. Version.
    #includePreviewVersions: false # boolean. Optional. Use when useGlobalJson = false  || packageType = runtime. Include Preview Versions. Default: false.
    #requestTimeout: '300000' # string. Set timeout for package download request. Default: 300000.
  # Advanced
    #vsVersion: # string. Compatible Visual Studio version.
    #installationPath: '$(Agent.ToolsDirectory)/dotnet' # string. Path To Install .Net Core. Default: $(Agent.ToolsDirectory)/dotnet.
    #performMultiLevelLookup: false # boolean. Perform Multi Level Lookup. Default: false.
# Use .NET Core v2
# Acquires a specific version of the .NET Core SDK from the internet or the local cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks. Additionally provides proxy support.
- task: UseDotNet@2
  inputs:
    #packageType: 'sdk' # 'runtime' | 'sdk'. Package to install. Default: sdk.
    #useGlobalJson: false # boolean. Optional. Use when packageType = sdk. Use global json. Default: false.
    #workingDirectory: # string. Optional. Use when useGlobalJson = true. Working Directory.
    #version: # string. Optional. Use when useGlobalJson = false || packageType = runtime. Version.
    #includePreviewVersions: false # boolean. Optional. Use when useGlobalJson = false  || packageType = runtime. Include Preview Versions. Default: false.
  # Advanced
    #vsVersion: # string. Compatible Visual Studio version.
    #installationPath: '$(Agent.ToolsDirectory)/dotnet' # string. Path To Install .Net Core. Default: $(Agent.ToolsDirectory)/dotnet.
    #performMultiLevelLookup: false # boolean. Perform Multi Level Lookup. Default: false.

Entradas

packageType - Pacote para instalação
string. Valores permitidos: runtime, sdk (SDK (contém tempo de execução)). Valor padrão: sdk.

Especifica se deve instalar apenas o runtime .NET ou o SDK.


useGlobalJson - Use json global
boolean. Opcional. Use quando packageType = sdk. Valor padrão: false.

Instala todos os SDKs a partir de global.json arquivos. Esses arquivos são pesquisados a partir de system.DefaultWorkingDirectory. Você pode alterar o caminho raiz da pesquisa definindo a entrada do diretório de trabalho.

A tarefa também lê a sdk.rollForward propriedade e global.json instala a versão mais recente que atende à política de rolagem especificada. Por exemplo, se você global.json especificar "version": "8.0.302" com "rollForward": "latestFeature", a tarefa instala o SDK mais recente 8.0.x em vez da versão exata. Se sdk.rollForward não estiver presente, a tarefa instala a versão exata especificada em sdk.version, que corresponde ao comportamento anterior. Para mais informações sobre valores suportados rollForward , veja a seção Observações e a visão geralglobal.json.

O 6.x formato and 6.1.x (usando .x como coringa) descrito na UseDotNet@2.version entrada é para uso na version entrada da tarefa, não no sdk.version parâmetro em global.json.

Se você receber uma mensagem de erro como ##[error]Version 6.0.x is not allowed. Allowed version types are: majorVersion.x, majorVersion.minorVersion.x, majorVersion.minorVersion.patchVersion. More details: Only explicit versions and accepted, such as: 2.2.301. Version: 6.0.x is not valid. e você está usando global.json, verifique no sdk.version seu global.jsonarquivo .

Para mais informações sobre global.json, veja Selecione a versão .NET a usar.


do Diretório de Trabalho do
string. Opcional. Use quando useGlobalJson = true.

Especifica o caminho de onde global.json os arquivos devem ser pesquisados ao usar useGlobalJson. Se o valor for vazio, system.DefaultWorkingDirectory será considerado como o caminho raiz.


version - versão
string. Opcional. Use quando useGlobalJson = false || packageType = runtime.

Especifica a versão do SDK Core .NET ou o tempo de execução a ser instalado. Os formatos de valor de versão são mostrados com exemplos:

  • 2.x: Instala o SDK ou runtime mais recente com a versão principal especificada, 2.
  • 3.1.x: Instala o SDK ou runtime mais recente com as versões principais e menores especificadas, 3 e 1.
  • 3.1.402: Instala o SDK especificado ou a versão de runtime, 3.1.402.

Os valores de versão para SDK ou instalações em tempo de execução estão no releases.json arquivo. O link para uma releases.json versão maior/menor está no arquivo releases-index . Por exemplo, o link para o arquivoreleases.json da versão 3.1.


vsVersion - Compatível Visual Studio versão
string.

Especifica uma versão compatível do Visual Studio para uma instalação correspondente do SDK .NET Core. O valor deve ser um número de versão completo, como 16.6.4, que contém uma versão maior, uma versão menor e um número de patch.

Os valores de versão para SDK ou instalações em tempo de execução, que são usadas para a version string, estão no releases.json arquivo. O link para uma releases.json versão maior/menor está no arquivo releases-index . Por exemplo, o link para o arquivoreleases.json da versão 3.1.


checkForExistingVersion - Verifique se há instalações existentes
boolean. Valor padrão: false.

Selecione se quiser detectar se a versão especificada já está instalada antes de tentar baixar. Use apenas quando installationPath estiver Vazio, ou seja, definido para o valor padrão.


includePreviewVersions - Incluir versões de prévia
boolean. Opcional. Use quando useGlobalJson = false || packageType = runtime. Valor padrão: false.

Se definido como true, inclui versões de pré-visualização quando a tarefa busca pelas versões mais recentes de runtime/SDK, como buscar por 2.2.x ou 3.1.x. Essa configuração é ignorada se você especificar uma versão exata, como 3.0.100-preview3-010431.


installationPath - Caminho para Instalar o .Net Core
string. Valor padrão: $(Agent.ToolsDirectory)/dotnet.

Especifica onde o SDK/Runtime do Núcleo .NET deve ser instalado. Caminhos diferentes podem ter o seguinte impacto no comportamento do .NET.

  • $(Agent.ToolsDirectory): Usar esse caminho armazena em cache a instalação no agente, pois esse diretório não é limpo entre pipelines. Todos os pipelines em execução no agente têm acesso às versões instaladas anteriormente.
  • $(Agent.TempDirectory): Usar esse caminho garante que um pipeline não use uma versão em cache do .NET Core, pois essa pasta é limpa após cada pipeline.
  • Outro caminho: Você pode usar qualquer caminho se o processo agente tiver acesso ao caminho. Isso alterará o estado do computador e afetará todos os processos em execução nele.

Nota

Você pode usar a configuração Multi-Level Lookup, performMultiLevelLookup, para configurar como o host .NET busca versões.


performMultiLevelLookup - Realize Pesquisa Multinível
boolean. Valor padrão: false.

Configura o comportamento do processo host .NET quando ele busca um framework compartilhado adequado. Os valores são:

  • false: O processo host busca apenas versões presentes na pasta especificada pela tarefa.
  • true: O processo host fará busca em locais globais predefinidos usando consulta multinível. Os locais globais padrão são:
    • C:\Program Files\dotnet (processos de 64 bits)
    • C:\Program Files (x86)\dotnet (processos de 32 bits)

Saiba mais sobre a busca multinível no SharedFX.

Nota

performMultiLevelLookup é aplicável apenas a agentes baseados em Windows.


requestTimeout - Definir tempo limite para de solicitação de download do pacote
string. Valor padrão: 300000.

Forneça um valor de tempo para as requisições HTTP que a tarefa faz para obter o pacote .NET. O valor está em milissegundos. O padrão é 300000 milissegundos (5 minutos). Não pode ser mais de 600000 milissegundos (10 minutos).


Opções de controle de tarefa

Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.

Variáveis de saída

Nenhum.

Observações

A tarefa Use .NET Core adquire uma versão específica de .NET Core do inte rnet ou do cache da ferramenta e a adiciona ao PATH do Agente Azure Pipelines (hospedado ou privado). Use essa tarefa para alterar a versão do Core de .NET usada em tarefas subsequentes como DotNetCoreCLI@2. Adicionar essa tarefa antes da DotNetCoreCLI@2 em uma definição de build garante que a versão estará disponível no momento da construção, teste e publicação do seu app.

A abordagem do instalador de ferramentas também permite que você se desvincula dos ciclos de atualização do agente. Se a versão .NET Core que você procura estiver ausente no agente Azure Pipelines (Hospedada ou Privada), então você pode usar essa tarefa para instalar a versão correta no agente.

Suporte para roll-forward com global.json

Quando useGlobalJson está definida para true, a tarefa lê a sdk.rollForward propriedade do seu global.json arquivo e instala a versão mais recente do SDK que atende à política de roll-forward especificada. Para disable, patch, feature, e minor políticas, isso corresponde a como a CLI .NET resolve as versões do SDK localmente; major e latestMajor atualmente são resolvidas dentro da mesma versão principal.

Se sdk.rollForward não estiver presente em seu global.json, a tarefa instala a versão exata especificada em sdk.version. Isso corresponde ao comportamento anterior.

A tabela a seguir mostra como cada rollForward valor afeta a resolução da versão:

Valor rollForward Behavior Exemplo: a versão 8.0.302 resolve para
disable Instala a versão exata especificada. 8.0.302
patch Instala o patch mais recente dentro da mesma faixa de recursos. Últimas novidades >=8.0.300 <8.0.400
latestPatch O mesmo que patch. Últimas novidades >=8.0.300 <8.0.400
feature Instala a banda de recursos mais recente dentro da mesma versão major.minor. Últimas novidades 8.0.x
latestFeature O mesmo que feature. Últimas novidades 8.0.x
minor Instala a versão menor mais recente dentro da mesma versão principal. Últimas novidades 8.x
latestMinor O mesmo que minor. Últimas novidades 8.x
major Instala a versão mais recente dentro da mesma versão principal. Últimas novidades 8.x
latestMajor O mesmo que major. Últimas novidades 8.x

Nota

Em UseDotNet@2, as major políticas e latestMajor atualmente resolvem apenas na mesma versão principal. A resolução de versões entre maiores ainda não é suportada.

Se global.json contém um valor não reconhecido rollForward , a tarefa registra um aviso e volta a instalar a versão exata especificada em sdk.version.

Para a especificação completa dos rollForward valores, veja global.json visão geral.

Examples

Instale a faixa de recursos mais recente usando global.json

O arquivo a seguir global.json especifica a versão 8.0.302 do SDK com rollForward definido como latestFeature. A tarefa instala o SDK mais recente 8.0.x disponível.

{
  "sdk": {
    "version": "8.0.302",
    "rollForward": "latestFeature"
  }
}
steps:
- task: UseDotNet@2
  displayName: 'Install .NET SDK from global.json'
  inputs:
    packageType: 'sdk'
    useGlobalJson: true

Instale o patch mais recente dentro de uma faixa de recursos usando global.json

O arquivo a seguir global.json especifica a versão 8.0.302 do SDK com rollForward definido como latestPatch. A tarefa instala a versão mais recente do SDK dentro da 8.0.3xx faixa de recursos.

{
  "sdk": {
    "version": "8.0.302",
    "rollForward": "latestPatch"
  }
}
steps:
- task: UseDotNet@2
  displayName: 'Install .NET SDK from global.json'
  inputs:
    packageType: 'sdk'
    useGlobalJson: true

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
Execuções em Agente, DeploymentGroup
de demandas Nenhum
Capacidades Executar essa tarefa atende às seguintes exigências para quaisquer tarefas subsequentes no mesmo trabalho: DotNetCore
restrições de comando Qualquer
variáveis settable Qualquer
Versão do agente 2.144.0 ou superior
Categoria de tarefa Ferramenta

Consulte também