Installer des outils spécifique a un projet dotnet
- Créer le manifeste d’outils
Dans le dossier de votre projet, exécutez :dotnet new tool-manifest
Cela crée un fichier
dotnet-tools.json
qui va lister les outils utilisés localement. - Installer un outil local
Par exemple, pour installer l’outildotnet-ef
:dotnet tool install dotnet-ef
L’outil est alors disponible uniquement pour ce projet (pas globalement).
- Utiliser l’outil
Lancez l’outil avec :dotnet tool run dotnet-ef --help
Avantage :
Les outils sont versionnés et partagés avec le projet, ce qui facilite la collaboration et la reproductibilité.
Sytaxe du fichier ‘dotnet-tools.json’
Le fichier dotnet-tools.json
est un manifeste JSON qui liste les outils .NET installés localement pour un projet. Sa structure est la suivante :
{
"version": 1,
"isRoot": true,
"tools": {
"dotnet-ef": {
"version": "8.0.0",
"commands": [ "dotnet-ef" ]
},
"autre-outil": {
"version": "x.y.z",
"commands": [ "nom-commande" ]
}
}
}
- version : Version du format du manifeste (toujours 1).
- isRoot : Indique que ce manifeste est à la racine du projet.
- tools : Objet listant chaque outil installé.
- dotnet-ef : Nom de l’outil.
- version : Version installée de l’outil.
- commands : Liste des commandes exposées par l’outil.
Chaque outil ajouté avec dotnet tool install
apparaît dans la section tools
avec sa version et ses commandes.
Restaurer des outils
Manuellement
Pour restaurer les outils listés dans le fichier dotnet-tools.json
, utilisez la commande suivante dans le dossier du projet :
dotnet tool restore
Cette commande installe toutes les versions des outils spécifiées dans le manifeste, assurant que votre environnement local correspond à celui défini pour le projet.
Automatiquement
Voici comment faire automatiquement un restore a change changement de branche Git. En ce plaçant ans le répertoire racine du projet, ou lon a préalablement fait le dotnet new tool-manifest
- Installer Husky.net :
dotnet tool install Husky
- Configurer Husky.net :
dotnet husky install
- Ajouter un hook Husky.net pour executer le restore :
dotnet husky add post-checkout -c "dotnet tool restore"
- Attachez Husky.net a l’un des projets present dans le dossier. L’ouverture du projet dans visual studio provoquera l’installation de la tool box.
dotnet husky attach <path-to-project-file.csproj>