Partager via


Ensembles de charges de travail du SDK .NET

La fonctionnalité ensembles de charges de travail fournit un numéro de version qui représente un groupe de charges de travail du SDK .NET. Les commandes install, update, et restore utilisent ce numéro en mode de mise à jour d’ensemble de charges de travail pour offrir les avantages suivants :

  • Vous contrôlez la cadence des modifications des versions des charges de travail installées. Le mode de fonctionnement alternatif sans utiliser d’ensembles de charges de travail est appelé mode de mise à jour de manifestes libres. Dans ce mode, les charges de travail sont mises à jour automatiquement lorsque de nouvelles versions de charges de travail individuelles sont publiées sur des flux NuGet configurés. En mode de mise à jour workload-set, les charges de travail restent à une version spécifique de l’ensemble de charges de travail jusqu’à ce que vous changiez explicitement cette version.
  • Vous pouvez installer et mettre à jour une combinaison de versions de charges de travail qui sont livrées en même temps et qui sont connues pour fonctionner ensemble.
  • Vous pouvez vous assurer que tous les membres de votre équipe travaillent toujours sur les mêmes versions de charges de travail.
  • Vous n’avez pas besoin d’utiliser un fichier de retour en arrière pour spécifier la version de la charge de travail que vous souhaitez utiliser.

Voici quelques façons d’utiliser les ensembles de charges de travail :

  • « Épingler » la commande install à une version spécifique de l’ensemble de charges de travail.
  • Mettre à jour les charges de travail installées à la dernière version disponible de l’ensemble de charges de travail.
  • Mettre à jour vers une version spécifiée de l’ensemble de charges de travail.
  • Spécifier la version de l’ensemble de charges de travail dans global.json.
  • Vérifier votre mode de mise à jour actuel et la version de l’ensemble de charges de travail.

Et vous pouvez toujours choisir d’installer, de mettre à jour ou de restaurer à la dernière version de chaque charge de travail individuelle, en ignorant les ensembles de charges de travail.

Prérequis

  • .NET SDK 8.0.400 ou version ultérieure.

    Dans le SDK 8.0.400, les commandes dotnet workload sont en mode de mise à jour d’ensemble de charges de travail uniquement lorsqu’il est explicitement sélectionné.

« Épingler » la commande install

Une commande dotnet workload install avec l’option --version « épingle » la commande install en mode workload-set de mise à jour avec la version spécifiée de l’ensemble de charges de travail. La commande n’installe plus automatiquement la charge de travail la plus récente en se basant sur les manifestes libres.

Pour « épingler » la commande install :

  1. Choisir une version de l’ensemble de charges de travail. Par exemple : 9.0.100-preview.7.24414.1.

  2. Choisissez une charge de travail. Par exemple : aspire.

  3. dotnet workload install aspire --version 9.0.100-preview.7.24414.1
    

    Lorsque cette commande est exécutée :

    • Elle sélectionne le mode workload-set de mise à jour si ce n’est pas déjà fait.
    • Elle obtient l’ensemble de charges de travail qui a la version spécifiée.
    • À partir de l’ensemble de charges de travail, elle obtient la version du manifeste de la charge de travail spécifiée.
    • Elle installe la version du manifeste de la charge de travail.
    • Elle reste en mode workload-set de mise à jour une fois terminée.
  4. Choisissez une autre charge de travail à installer, comme maui-ios.

  5. dotnet workload install maui-ios
    

    Cette commande installe la charge de travail maui-ios en utilisant la version de la charge de travail provenant de la version 9.0.100-preview.7.24414.1 de l’ensemble de charges de travail, puisque l’exemple de commande install précédent a épinglé cet ensemble de charges de travail.

Utiliser --version soit avec install soit avec update épingle install à la version spécifiée, mais update est uniquement configuré pour le mode workload-set de mise à jour, et non pour une version spécifique de l’ensemble de charges de travail. Si vous exécutez ensuite dotnet workload update sans l’option --version, la commande update :

  • Met à jour les charges de travail vers la dernière version disponible de l’ensemble de charges de travail.
  • « Désépingle » la commande install.
  • Reste en mode de mise à jour workload-set.

Mise à jour à l’aide du dernier ensemble de charges de travail

Pour mettre à jour les charges de travail installées vers la dernière version de l’ensemble de charges de travail disponible sur les flux configurés, exécutez les commandes suivantes :

  1. dotnet workload config --update-mode workload-set
    

    La commande précédente est nécessaire uniquement si vous êtes actuellement en mode de mise à jour de manifestes. Si vous ne savez pas, vérifiez le mode de mise à jour actuel.

  2. dotnet workload update
    

    En mode de mise à jour workload-set, cette commande met à jour les charges de travail vers la dernière version de l’ensemble de charges de travail, sauf si vous avez spécifié la version de l’ensemble de charges de travail dans global.json.

Mettre à jour vers une version de l’ensemble de charges de travail

Pour spécifier une version de l’ensemble de charges de travail à mettre à jour lorsque vous ne la spécifiez pas dans global.json, utilisez l’option --version de la commande update :

  1. Choisir une version de l’ensemble de charges de travail. Par exemple : 8.0.400.

  2. dotnet workload update --version 8.0.400
    

Le mode workload-set de mise à jour sera sélectionné s’il ne l’était pas déjà.

Utiliser global.json pour la version de l’ensemble de charges de travail

Pour utiliser un fichier global.json afin de spécifier la version de l’ensemble de charges de travail pour un référentiel :

  1. Choisir une version de l’ensemble de charges de travail. Par exemple : 9.0.100-preview.7.24414.1.

  2. Créez un fichier global.json qui ressemble à l’exemple suivant :

    {
      "sdk": {
        "workloadVersion": "9.0.100-preview.7.24414.1"
      }
    }
    

Avec le répertoire courant dans le même référentiel et la CLI en mode workload-set de mise à jour, les commandes install, update et restore installent les charges de travail pour la version spécifiée de l’ensemble de charges de travail. Si vous n’avez pas de fichier global.json, et que vous êtes en mode workload-set de mise à jour, la commande restore installe la version de l’ensemble de charges de travail qui a été établie lorsque vous êtes passé du mode de mise à jour de manifestes au mode workload-set de mise à jour.

Si vous avez une version de l’ensemble de charges de travail dans le fichier global.json, les commandes de charge de travail sont en mode workload-set même si vous n’avez pas exécuté la commande config ou utilisé --version. Le fichier global.json remplace ceux-ci. Pour utiliser l’option --version dans ce cas, exécutez la commande en dehors du chemin contenant le fichier global.json.

Si vous ne spécifiez pas la version de l’ensemble de charges de travail dans global.json, vous pouvez utiliser l’option --version avec la commande restore. Dans ce cas, la commande restore sélectionne le mode workload-set de mise à jour avant de restaurer les charges de travail à la version spécifiée de l’ensemble de charges de travail.

En mode de mise à jour de manifestes, restore installe ou met à jour les charges de travail vers la dernière version de chaque charge de travail individuelle.

Vérifier le mode de mise à jour et la version

Pour voir le mode de mise à jour actuel, exécutez la commande config avec l’option --update-mode sans argument. Le mode est soit workload-setormanifests. Par exemple :

dotnet workload config --update-mode
workload-set

Pour voir la version actuelle de l’ensemble de charges de travail, exécutez dotnet workload --version. Si un ensemble de charges de travail est installé, vous verrez une version telle que 9.0.100-preview.7.24414.1 ou 8.0.402. Par exemple :

dotnet workload --version
9.0.100-preview.7.24414.1

En mode manifestes, ou si la version de l’ensemble de charges de travail n’est pas encore établie après le passage au mode workload-set de mise à jour, vous verrez une version sous la forme de <feature band>-manifests.<hash>. Par exemple :

dotnet workload --version
9.0.100-manifests.cf958b56

Choisir une version de l’ensemble de charges de travail

Les ensembles de charges de travail sont publiés sur nuget.org avec chaque version du SDK .NET, sous l’ID de package Microsoft.NET.Workloads.<feature band>. Pour une version stable du SDK, nous prévoyons toujours d’avoir une version d’ensemble de charges de travail correspondante. Ainsi, le SDK 8.0.400 peut installer un ensemble de charges de travail 8.0.400, 401 peut installer un ensemble 401. En général, nous vous recommandons d’installer l’ensemble de charges de travail correspondant pour un SDK stable.

Pour les versions préliminaires, trouvez la version correspondante de l’ensemble de charges de travail dans l’onglet README du package. Par exemple, veuillez consulter l’onglet README pour le package .NET 9 Preview 7.

Il s’agit d’une version préliminaire. À l’avenir, nous vous proposerons des moyens de lister les versions des ensembles de charges de travail pour voir ce qui est disponible et ce qu’elles contiennent.

Ignorer les ensembles de charges de travail

Pour installer ou mettre à jour à la dernière version de chaque charge de travail individuelle disponible sur les flux configurés, sélectionnez et utilisez le mode de mise à jour de manifestes en exécutant la commande de charge de travail config :

dotnet workload config --update-mode manifests

Dans le SDK .NET 8.0.4xx, le mode manifestes est le mode par défaut. Vous devez sélectionner le mode manifestes explicitement uniquement si vous avez précédemment sélectionné explicitement le mode de mise à jour workload-set.