Partager via


dotnet nuget push

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

Nom

dotnet nuget push - Exécute un push d’un package sur le serveur et le publie.

Synopsis

dotnet nuget push [<ROOT>] [-d|--disable-buffering] [--force-english-output]
    [--interactive] [-k|--api-key <API_KEY>] [-n|--no-symbols]
    [--no-service-endpoint] [-s|--source <SOURCE>] [--skip-duplicate]
    [-sk|--symbol-api-key <API_KEY>] [-ss|--symbol-source <SOURCE>]
    [-t|--timeout <TIMEOUT>]

dotnet nuget push -h|--help

Description

La commande dotnet nuget push exécute un push d’un package sur le serveur et le publie. La commande push utilise les informations serveur et d’identification trouvées dans le fichier ou la chaîne de fichiers de configuration NuGet du système. Pour plus d’informations sur les fichiers de configuration, consultez Configuring NuGet Behavior (Configuration du comportement de NuGet ). La configuration par défaut de NuGet est obtenue en chargeant %AppData%\NuGet\NuGet.config (Windows) ou $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS), puis en chargeant tout fichier nuget.config ou .nuget\nuget.config à partir de la racine du lecteur jusqu’au répertoire actif.

La commande envoie (par push) un package existant. Elle ne crée pas de package. Pour créer un package, utilisez dotnet pack.

Structure de dossiers hiérarchique

Cette commande peut stocker des packages dans une structure de dossiers hiérarchique, ce qui est recommandé pour optimiser les performances. Elle stocke les packages dans une structure de dossiers hiérarchique lors de la publication dans un dossier local (flux), comme le fait nuget add, s’il existe déjà au moins un package dans le flux qui se trouve dans une structure de dossiers hiérarchique. Si le flux possède déjà un package structuré de dossiers hiérarchiques, dotnet nuget push respecte cette structure. Par conséquent, si vous souhaitez publier sur un flux local à l’aide de l’interface CLI .NET au lieu de l’interface CLI NuGet :

  • Avant de publier le premier package, accédez à votre dossier de packages globaux, à l’emplacement %userprofile%.nuget\packages, puis sélectionnez le dossier racine d’un ID de package. Il peut s’agir de n’importe quel package qui ne fait pas partie d’un framework, tel que .NET standard ou ASP.NET.
  • Copiez le dossier de package sélectionné dans le dossier racine du flux local.
  • Utilisez dotnet nuget push pour publier votre package dans le flux local.
  • Vous pouvez maintenant supprimer le dossier dans lequel vous avez précédemment effectué une copie, et vous pouvez librement utiliser dotnet nuget push pour publier sur votre flux local.

Vous pouvez également utiliser l’interface CLI NuGet pour le premier package, puis vous pouvez utiliser dotnet nuget push pour le reste. Pour plus d’informations, consultez Flux locaux.

Arguments

  • ROOT

    Spécifie le chemin de fichier au package devant faire l’objet d’un envoi (push).

Options

  • -d|--disable-buffering

    Désactive la mise en mémoire tampon pendant le transfert push vers un serveur HTTP(S) afin de réduire l’utilisation de la mémoire.

  • --force-english-output

    Force l’application à s’exécuter avec les paramètres régionaux Anglais (culture indifférente).

  • -?|-h|--help

    Affiche une description de l’utilisation de la commande.

  • --interactive

    Permet à la commande de s’arrêter et d’attendre une action ou une entrée utilisateur. Par exemple, pour effectuer une authentification. Option disponible à partir du kit SDK .NET Core 3.0.

  • -k|--api-key <API_KEY>

    Clé d’API pour le serveur.

  • -n|--no-symbols

    N’envoie pas les symboles (même s’ils sont présents).

  • --no-service-endpoint

    N’ajoute pas « api/v2/package » à l’URL source.

  • -s|--source <SOURCE>

    Spécifie l’URL du serveur. NuGet identifie une source de dossier UNC ou local et copie simplement le fichier là-bas au lieu de l’envoyer (via push) à l’aide de HTTP.

    Important

    À compter de NuGet 3.4.2, il s’agit d’un paramètre obligatoire, sauf si le fichier de configuration NuGet spécifie une valeur DefaultPushSource. Pour plus d’informations, consultez la page Configurer le comportement de NuGet.

  • --skip-duplicate

    Lorsque vous envoyez plusieurs packages à un serveur HTTP(S), traite toute réponse de conflit 409 en tant qu’avertissement afin que d’autres envois push puissent continuer.

  • -sk|--symbol-api-key <API_KEY>

    Clé d’API pour le serveur de symboles.

  • -ss|--symbol-source <SOURCE>

    Spécifie l’URL du serveur de symboles.

  • -t|--timeout <TIMEOUT>

    Spécifie le délai d’attente, en secondes, pour effectuer un push vers un serveur. La valeur par défaut est 300 secondes (5 minutes). La spécification de la valeur 0 applique la valeur par défaut.

Exemples

  • Envoyez (via push) foo.nupkg à la source push par défaut spécifiée dans le fichier de configuration NuGet, à l’aide d’une clé API :

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
    
  • Envoyez (via push) foo.nupkg au serveur NuGet officiel, en spécifiant une clé API :

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
    
  • Envoyez (push) foo.nupkg à la source de push personnalisée https://customsource, en spécifiant une clé API :

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
    
  • Envoyez (via push) foo.nupkg à la source push par défaut spécifiée dans le fichier de configuration NuGet :

    dotnet nuget push foo.nupkg
    
  • Effectuer une transmission de type push de foo.symbols.nupkg vers la source de symboles par défaut :

    dotnet nuget push foo.symbols.nupkg
    
  • Envoyez (via push ) foo.nupkg à la source push par défaut spécifiée dans le fichier de configuration NuGet, avec un délai d’expiration de 360 secondes :

    dotnet nuget push foo.nupkg --timeout 360
    
  • Envoyez (via push) tous les fichiers .nupkg dans le répertoire actif à la source push par défaut spécifiée dans le fichier de configuration NuGet :

    dotnet nuget push "*.nupkg"
    

    Notes

    Si cette commande ne fonctionne pas, cela peut être dû à un bogue qui existait dans les versions antérieures du SDK (Kit SDK .NET Core 2.1 et versions antérieures). Pour résoudre ce problème, mettez à niveau votre version du SDK ou exécutez la commande suivante à la place : dotnet nuget push "**/*.nupkg"

    Notes

    Les guillemets englobants sont requis pour les interpréteurs de commandes tels que bash qui utilisent des caractères génériques de fichier. Pour plus d’informations, consultez NuGet/Home#4393.

  • Envoyez (via push) tous les fichiers .nupkg à la source push par défaut spécifiée dans le fichier de configuration NuGet, même si une réponse de conflit 409 est retournée par un serveur HTTP(S) :

    dotnet nuget push "*.nupkg" --skip-duplicate
    
  • Envoyez tous les fichiers .nupkg dans le répertoire actif vers un répertoire de flux local :

    dotnet nuget push "*.nupkg" -s c:\mydir
    
  • Pour envoyer (via push) vers Azure Artifacts, consultez la documentation sur les envois push d’Azure Artifacts.