nuget-manager

Par github · awesome-copilot

Gérez les packages NuGet dans des projets/solutions .NET. Utilisez cette skill pour ajouter, supprimer ou mettre à jour des versions de packages NuGet. Elle impose l'utilisation du CLI `dotnet` pour la gestion des packages et fournit des procédures strictes pour les modifications directes de fichiers uniquement lors des mises à jour de versions.

npx skills add https://github.com/github/awesome-copilot --skill nuget-manager

Gestionnaire NuGet

Aperçu

Ce skill assure une gestion cohérente et sécurisée des packages NuGet sur les projets .NET. Il privilégie l'utilisation de la CLI dotnet pour préserver l'intégrité du projet et applique un workflow strict de vérification et restauration pour les mises à jour de versions.

Prérequis

  • .NET SDK installé (généralement .NET 8.0 SDK ou ultérieur, ou une version compatible avec la solution cible).
  • CLI dotnet disponible sur votre PATH.
  • jq (processeur JSON) OU PowerShell (pour la vérification de version avec dotnet package search).

Règles fondamentales

  1. NE JAMAIS modifier directement les fichiers .csproj, .props ou Directory.Packages.props pour ajouter ou supprimer des packages. Utilisez toujours les commandes dotnet add package et dotnet remove package.
  2. L'ÉDITION DIRECTE est UNIQUEMENT autorisée pour modifier les versions de packages existants.
  3. LES MISES À JOUR DE VERSION doivent suivre le workflow obligatoire :
    • Vérifier que la version cible existe sur NuGet.
    • Déterminer si les versions sont gérées par projet (.csproj) ou de façon centralisée (Directory.Packages.props).
    • Mettre à jour la chaîne de version dans le fichier approprié.
    • Exécuter immédiatement dotnet restore pour vérifier la compatibilité.

Workflows

Ajouter un package

Utilisez dotnet add [<PROJECT>] package <PACKAGE_NAME> [--version <VERSION>]. Exemple : dotnet add src/MyProject/MyProject.csproj package Newtonsoft.Json

Supprimer un package

Utilisez dotnet remove [<PROJECT>] package <PACKAGE_NAME>. Exemple : dotnet remove src/MyProject/MyProject.csproj package Newtonsoft.Json

Mettre à jour les versions de packages

Lors d'une mise à jour de version, suivez ces étapes :

  1. Vérifier l'existence de la version : Vérifiez que la version existe en utilisant la commande dotnet package search avec correspondance exacte et formatage JSON. Avec jq : dotnet package search <PACKAGE_NAME> --exact-match --format json | jq -e '.searchResult[].packages[] | select(.version == "<VERSION>")' Avec PowerShell : (dotnet package search <PACKAGE_NAME> --exact-match --format json | ConvertFrom-Json).searchResult.packages | Where-Object { $_.version -eq "<VERSION>" }

  2. Déterminer la gestion des versions :

    • Recherchez Directory.Packages.props à la racine de la solution. S'il est présent, les versions doivent y être gérées via <PackageVersion Include="Package.Name" Version="1.2.3" />.
    • S'il est absent, vérifiez les fichiers .csproj individuels pour <PackageReference Include="Package.Name" Version="1.2.3" />.
  3. Appliquer les modifications : Modifiez le fichier identifié avec la nouvelle chaîne de version.

  4. Vérifier la stabilité : Exécutez dotnet restore sur le projet ou la solution. En cas d'erreur, annulez la modification et enquêtez.

Exemples

Utilisateur : « Ajouter Serilog au projet WebApi »

Action : Exécutez dotnet add src/WebApi/WebApi.csproj package Serilog.

Utilisateur : « Mettre à jour Newtonsoft.Json en 13.0.3 dans la solution entière »

Action :

  1. Vérifier que 13.0.3 existe : dotnet package search Newtonsoft.Json --exact-match --format json (et analyser la sortie pour confirmer la présence de « 13.0.3 »).
  2. Trouver où elle est définie (par exemple, Directory.Packages.props).
  3. Éditer le fichier pour mettre à jour la version.
  4. Exécuter dotnet restore.

Skills similaires