Tutoriel : Installer et utiliser un outil local .NET à l’aide de l’interface CLI .NET

Cet article s’applique à : ✔️ .NET 8 SDK et versions ultérieures

Ce tutoriel vous explique comment installer et utiliser un outil local. Vous utilisez un outil que vous avez créé dans le premier didacticiel de cette série.

Conditions préalables

Créer un fichier manifeste

Pour installer un outil pour l’accès local uniquement (pour le répertoire actif et les sous-répertoires), il doit être ajouté à un fichier manifeste.

Dans le dossier dotnet-env, remontez d'un niveau vers le dossier référentiel :

cd ..

Créez un fichier manifeste en exécutant la commande dotnet new :

dotnet new tool-manifest

La sortie indique la création réussie du fichier.

The template "Dotnet local tool manifest file" was created successfully.

Le fichier .config/dotnet-tools.json n’a pas encore d’outils :

{
  "version": 1,
  "isRoot": true,
  "tools": {}
}

Les outils répertoriés dans un fichier manifeste sont disponibles pour le répertoire actif et les sous-répertoires. Le répertoire actif est celui qui contient le répertoire .config avec le fichier manifeste.

Lorsque vous utilisez une commande CLI qui fait référence à un outil local, le Kit de développement logiciel (SDK) recherche un fichier manifeste dans le répertoire actif et les répertoires parents. S’il trouve un fichier manifeste, mais que le fichier n’inclut pas l’outil référencé, il poursuit la recherche dans les répertoires parents. La recherche se termine lorsqu'il trouve l’outil référencé ou trouve un fichier manifeste avec isRoot défini sur true.

Installer dotnet-env en tant qu’outil local (approche traditionnelle)

Installez l’outil à partir du package que vous avez créé dans le premier tutoriel :

dotnet tool install --add-source ./dotnet-env/nupkg dotnet-env

Cette commande ajoute l’outil au fichier manifeste que vous avez créé à l’étape précédente. La sortie de commande indique le fichier manifeste dans lequel se trouve l’outil nouvellement installé :

You can invoke the tool from this directory using the following command:
'dotnet tool run dotnet-env' or 'dotnet dotnet-env'
Tool 'dotnet-env' (version '1.0.0') was successfully installed.
Entry is added to the manifest file /home/name/repository/.config/dotnet-tools.json

Le fichier .config/dotnet-tools.json dispose désormais d’un outil :

{
  "version": 1,
  "isRoot": true,
  "tools": {
    "dotnet-env": {
      "version": "1.0.0",
      "commands": [
        "dotnet-env"
      ]
    }
  }
}

Utiliser l’outil local installé

Une fois installé en tant qu’outil local, vous pouvez l’appeler de plusieurs façons :

  • Exécutez l’outil directement à l’aide de dnx:

    dnx dotnet-env --add-source ./nupkg
    

    Note

    Lorsque vous utilisez dnx avec un manifeste d’outil local, il utilise automatiquement la version spécifiée dans le manifeste.

  • Utilisation de dotnet dotnet-env:

    dotnet dotnet-env
    
  • Utilisation de dotnet tool run

    dotnet tool run dotnet-env
    

Restaurer un outil local installé par d’autres utilisateurs

Vous installez généralement un outil local dans le répertoire racine du référentiel. Après avoir vérifié le fichier manifeste dans le référentiel, d’autres développeurs peuvent obtenir le dernier fichier manifeste. Pour installer tous les outils répertoriés dans le fichier manifeste, ils peuvent exécuter une seule commande dotnet tool restore.

  1. Ouvrez le fichier .config/dotnet-tools.json, puis remplacez le contenu par le code JSON suivant :

    {
      "version": 1,
      "isRoot": true,
      "tools": {
        "dotnet-env": {
          "version": "1.0.0",
          "commands": [
            "dotnet-env"
          ]
        },
        "dotnetsay": {
          "version": "2.1.3",
          "commands": [
            "dotnetsay"
          ]
        }
      }
    }
    
  2. Enregistrez vos modifications.

    L’obtention de cette modification est la même que l’obtention de la dernière version à partir du référentiel une fois que quelqu’un d’autre a installé le package dotnetsay pour le répertoire du projet.

  3. Exécutez la commande dotnet tool restore.

    dotnet tool restore
    

    La commande produit une sortie comme l’exemple suivant :

    Tool 'dotnet-env' (version '1.0.0') was restored. Available commands: dotnet-env
    Tool 'dotnetsay' (version '2.1.3') was restored. Available commands: dotnetsay
    Restore was successful.
    
  4. Vérifiez que les outils sont disponibles :

    dotnet tool list
    

    La sortie est une liste de packages et de commandes, comme dans l’exemple suivant :

    Package Id         Version      Commands       Manifest
    --------------------------------------------------------------------------------------------
    dotnet-env         1.0.0        dotnet-env     /home/name/repository/.config/dotnet-tools.json
    dotnetsay          2.1.3        dotnetsay      /home/name/repository/.config/dotnet-tools.json
    
  5. Testez les outils :

    dotnet tool run dotnetsay hello from dotnetsay
    dotnet tool run dotnet-env
    

Mettre à jour un outil local

La version installée de l’outil local dotnetsay est 2.1.3. Utilisez la commande dotnet update pour mettre à jour l’outil vers la dernière version.

dotnet tool update dotnetsay

La sortie indique le nouveau numéro de version :

Tool 'dotnetsay' was successfully updated from version '2.1.3' to version '3.0.3'
(manifest file /home/name/repository/.config/dotnet-tools.json).

La commande de mise à jour recherche le premier fichier manifeste qui contient l’ID de package et le met à jour. S’il n’existe aucun ID de package de ce type dans un fichier manifeste qui se trouve dans l’étendue de la recherche, le Kit de développement logiciel (SDK) ajoute une nouvelle entrée au fichier manifeste le plus proche. La portée de la recherche s'étend dans les répertoires parents jusqu'à ce qu'un fichier manifeste portant isRoot = true soit trouvé.

Supprimer les outils locaux

Supprimez les outils installés en exécutant la commande dotnet tool uninstall :

dotnet tool uninstall dotnet-env
dotnet tool uninstall dotnetsay

Dépanner

Si vous recevez un message d’erreur en suivant le didacticiel, consultez Résoudre les problèmes d’utilisation des outils .NET.

Voir aussi

Pour plus d’informations sur les outils .NET, consultez .