UseDotNet@2 - Utiliser la tâche dotnet v2

Utilisez cette tâche pour acquérir une version spécifique du SDK .NET Core depuis l’internet ou le cache local et l’ajouter au PATH. Utilisez cette tâche pour changer la version de .NET Core utilisée dans les tâches suivantes. Cette tâche fournit également la prise en charge du proxy.

Syntaxe

# 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.

Entrées

packageType - Package à installer
string. Valeurs autorisées : runtime, sdk (SDK (contient le temps d’exécution)). Valeur par défaut : sdk.

Précise s’il faut installer uniquement le temps d’exécution .NET ou le SDK.


useGlobalJson - Utiliser json global
boolean. Optionnel. Utilisez quand packageType = sdk. Valeur par défaut : false.

Installe tous les SDK à partir de global.json fichiers. Ces fichiers sont recherchés depuis system.DefaultWorkingDirectory. Vous pouvez modifier le chemin racine de recherche en définissant l’entrée du répertoire de travail.

La tâche lit également la sdk.rollForward propriété et global.json installe la dernière version qui satisfait la politique de roll-forward spécifiée. Par exemple, si votre global.json spécifie "version": "8.0.302" avec "rollForward": "latestFeature", la tâche installe le dernier 8.0.x SDK au lieu de la version exacte. Si sdk.rollForward elle n’est pas présente, la tâche installe la version exacte spécifiée dans sdk.version, qui correspond au comportement précédent. Pour plus d’informations sur les valeurs prises en charge rollForward , voir la section Remarques et le global.json aperçu.

Le 6.x format et 6.1.x (en utilisant .x comme joker) décrit dans l’entrée UseDotNet@2.version est utilisé dans l’entrée version de la tâche, et non le sdk.version paramètre dans global.json.

Si vous recevez un message d’erreur comme ##[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. et que vous utilisez global.json, vérifiez dans sdk.version votre global.jsonfichier .

Pour plus d’informations sur global.json, voir Sélectionnez la version .NET à utiliser.


workingDirectory - répertoire de travail
string. Optionnel. Utilisez quand useGlobalJson = true.

Spécifie le chemin à partir d’où global.json les fichiers doivent être recherchés lors de l’utilisation useGlobalJsonde . Si la valeur est vide, system.DefaultWorkingDirectory sera considérée comme le chemin racine.


version - version
string. Optionnel. Utilisez quand useGlobalJson = false || packageType = runtime.

Précise la version du SDK core .NET ou le temps d’exécution à installer. Les formats de valeur de version sont présentés avec des exemples :

  • 2.x: Installe le dernier SDK ou l’exécution avec la version majeure spécifiée, 2.
  • 3.1.x: Installe le dernier SDK ou runtime avec les versions majeures et mineures spécifiées, 3 et 1.
  • 3.1.402: Installe le SDK ou la version d’exécution spécifié, 3.1.402.

Les valeurs de version pour le SDK ou les installations à l’exécution se trouvent dans le releases.json fichier. Le lien vers releases.json une version majeure/mineure se trouve dans le fichier index releases . Par exemple, le lien vers le fichierreleases.json pour la version 3.1.


vsVersion - Version compatible de Visual Studio
string.

Spécifie une version compatible de Visual Studio pour une installation correspondante du SDK .NET Core. La valeur doit être un numéro de version complet, tel que 16.6.4, qui contient une version majeure, une version mineure et un numéro de patch.

Les valeurs de version pour le SDK ou les installations à l’exécution, utilisées pour la version chaîne, se trouvent dans le releases.json fichier. Le lien vers releases.json une version majeure/mineure se trouve dans le fichier index releases . Par exemple, le lien vers le fichierreleases.json pour la version 3.1.


checkForExistingVersion - Vérifiez l’installation existante
boolean. Valeur par défaut : false.

Sélectionnez si vous souhaitez détecter si la version spécifiée est déjà installée avant de tenter de télécharger. À utiliser uniquement lorsque installationPath est vide, c’est-à-dire défini sur la valeur par défaut.


includePreviewVersions - Inclure des versions d’aperçu
boolean. Optionnel. Utilisez quand useGlobalJson = false || packageType = runtime. Valeur par défaut : false.

Si défini à true, inclut les versions d’aperçu lorsque la tâche recherche les dernières versions d’exécution/SDK, comme la recherche de 2.2.x ou 3.1.x. Ce paramètre est ignoré si vous spécifiez une version exacte, comme 3.0.100-preview3-010431.


installationPath - Chemin pour installer .net core
string. Valeur par défaut : $(Agent.ToolsDirectory)/dotnet.

Précise où le SDK/Runtime du cœur .NET doit être installé. Différents chemins peuvent avoir l'impact suivant sur le comportement de .NET.

  • $(Agent.ToolsDirectory): En utilisant ce chemin, l’installation est mise en cache sur l’agent, car ce répertoire n’est pas nettoyé entre les pipelines. Tous les pipelines s’exécutant sur l’agent ont accès aux versions précédemment installées.
  • $(Agent.TempDirectory) : Utiliser ce chemin garantit qu'un pipeline n'utilise pas une version mise en cache de .NET Core, car ce dossier est nettoyé après chaque pipeline.
  • Un autre chemin : Vous pouvez utiliser n’importe quel chemin si le processus agent y a accès. Cela modifie l’état de la machine et affecte tous les processus en cours d’exécution.

Remarque

Vous pouvez utiliser le paramètre Multi-Level Lookup, performMultiLevelLookup, pour configurer la manière dont l’hébergeur .NET recherche les versions.


performMultiLevelLookup - Effectuer une recherche multi-niveaux
boolean. Valeur par défaut : false.

Configure le comportement du processus hôte .NET lorsqu’il recherche un cadre partagé adapté. Les valeurs sont les suivantes :

  • false: Le processus hôte ne recherche que les versions présentes dans le dossier spécifié par la tâche.
  • true: Le processus hôte recherchera dans des emplacements globaux prédéfinis en utilisant la recherche multi-niveaux. Les emplacements globaux par défaut sont les suivants :
    • C:\Program Files\dotnet (processus 64 bits)
    • C:\Program Files (x86)\dotnet (processus 32 bits)

En savoir plus sur la recherche multiniveau de SharedFX.

Remarque

performMultiLevelLookup ne s’applique qu’aux agents basés sur Windows.


requestTimeout - Définir le délai d’expiration de la demande de téléchargement de package
string. Valeur par défaut : 300000.

Fournir une valeur de délai pour les requêtes HTTP que la tâche effectue pour obtenir le package .NET. La valeur est en millisecondes. La valeur par défaut est de 3 0000 millisecondes (5 minutes). Ne peut pas être supérieur à 6 0000 millisecondes (10 minutes).


Options de contrôle de tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâche. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Aucun.

Remarques

La tâche Use .NET Core acquiert une version spécifique de .NET Core à partir de l’inte rnet ou du cache de l’outil et l’ajoute au PATH de l’Agent Azure Pipelines (hébergé ou privé). Utilisez cette tâche pour modifier la version de .NET Core utilisée dans les tâches suivantes comme DotNetCoreCLI@2. Ajouter cette tâche avant la DotNetCoreCLI@2 dans une définition de build garantit que la version sera disponible au moment de la compilation, du test et de la publication de votre application.

L’approche du programme d’installation des outils vous permet également de dissocier les cycles de mise à jour de l’agent. Si la version .NET Core que vous recherchez manque dans l’agent Azure Pipelines (hébergée ou privée), vous pouvez utiliser cette tâche pour installer la bonne version sur l’agent.

Support du roll-forward avec global.json

Lorsque useGlobalJson la tâche est définie à true, la tâche lit la sdk.rollForward propriété de votre global.json fichier et installe la dernière version du SDK qui respecte la politique de roll-forward spécifiée. Pour disable, patch, feature, et minor les politiques, cela correspond à la façon dont la CLI .NET résout localement les versions du SDK ; major et latestMajor sont actuellement résolues dans la même version majeure.

Si sdk.rollForward elle n’est pas présente dans votre global.json, la tâche installe la version exacte spécifiée dans sdk.version. Cela correspond au comportement précédent.

Le tableau suivant montre comment chaque rollForward valeur affecte la résolution des versions :

Valeur rollForward Behavior Exemple : la version 8.0.302 se résout à
disable Installe la version exacte spécifiée. 8.0.302
patch Installe le dernier patch dans la même bande de fonctionnalités. Dernières nouvelles >=8.0.300 <8.0.400
latestPatch Identique à patch. Dernières nouvelles >=8.0.300 <8.0.400
feature Installe la dernière bande de fonctionnalités dans la même version majeure.mineure. Dernières nouvelles 8.0.x
latestFeature Identique à feature. Dernières nouvelles 8.0.x
minor Installe la dernière version mineure dans la même version majeure. Dernières nouvelles 8.x
latestMinor Identique à minor. Dernières nouvelles 8.x
major Installe la dernière version dans la même version majeure. Dernières nouvelles 8.x
latestMajor Identique à major. Dernières nouvelles 8.x

Remarque

Dans UseDotNet@2, les major politiques et latestMajor se résolvent actuellement uniquement dans la même version majeure. La résolution des versions multi-majeures n’est pas encore prise en charge.

Si global.json contient une valeur non reconnue rollForward , la tâche enregistre un avertissement et revient à installer la version exacte spécifiée dans sdk.version.

Pour la spécification complète des rollForward valeurs, voir global.json aperçu.

Examples

Installez la dernière bande de fonctionnalités en utilisant global.json

Le fichier suivant global.json spécifie la version 8.0.302 du SDK avec rollForward un objectif de latestFeature. La tâche installe le dernier 8.0.x SDK disponible.

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

Installez le dernier correctif dans une bande de fonctionnalités en utilisant global.json

Le fichier suivant global.json spécifie la version 8.0.302 du SDK avec rollForward un objectif de latestPatch. La tâche installe la dernière version du SDK dans la 8.0.3xx bande de fonctionnalités.

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

Exigences

Exigence Descriptif
Types de pipelines YAML, Build Classique, Version Classique
Exécutions sur Agent, Groupe de déploiement
demandes Aucun
Capabilities L’exécution de cette tâche répond aux exigences suivantes pour toute tâche ultérieure dans la même tâche : DotNetCore
restrictions de commande Quelconque
variables settables Quelconque
Version de l’agent 2.144.0 ou version ultérieure
Catégorie de tâche Outil

Voir aussi