Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : création de package • Versions prises en charge : 2.7+
Crée un package NuGet basé sur le fichier .nuspec ou projet spécifié. La dotnet pack commande (voir commandes dotnet) et msbuild -t:pack (voir cibles MSBuild) peut être utilisée comme alternative.
Important
Utilisez dotnet pack ou msbuild -t:pack pour les projets basés sur PackageReference . À compter de NuGet version 6.5+, la commande pack génère une erreur lors de la tentative de pack de ces types de projet. Les versions antérieures tentent de packer, mais le package généré peut ne pas être correct.
Sous Mono, la création d’un package à partir d’un fichier projet n’est pas prise en charge. Vous devez également ajuster les chemins non locaux du .nuspec fichier aux chemins de style Unix, car nuget.exe ne convertit pas Windows noms de chemin d'accès lui-même.
Utilisation
nuget pack <nuspecPath | projectPath> [options] [-Properties ...]
où <nuspecPath> et <projectPath> spécifient respectivement le fichier ou le .nuspec fichier projet.
Options
-BasePathDéfinit le chemin d’accès de base des fichiers définis dans le fichier .nuspec .
-BuildSpécifie que le projet doit être généré avant de générer le package.
-ConfigFileFichier de configuration NuGet à appliquer. S’il n’est pas spécifié,
%AppData%\NuGet\NuGet.Config(Windows) ou~/.nuget/NuGet/NuGet.Config, ou~/.config/NuGet/NuGet.Config(Mac/Linux) est utilisé.-Deterministic(7.9+) Générer des packages en mode déterministe. Cela produit des packages identiques au bit pour la même entrée (code source, fichier projet, configuration de build), avec une mise en garde connue des horodatages. Découvrez
DeterministicTimestampcomment reproduire avec des dates/heures identiques.-DeterministicTimestamp(7.9+) Spécifiez un horodatage utilisé comme date/heure de modification de fichier pour tous les fichiers ajoutés au package NuGet. Il peut s’agir d’une date/heure au format RFC 3339 (par exemple
1996-12-19T16:39:57-08:00), il peut s’agir du nombre de secondes non bissextiles depuis 00:00:00 UTC le 1er janvier 1970 (également appelé heure Unix), ou il peut s’agir de la chaînetruespéciale (par défaut, utiliser l’heure de l’horloge murale actuelle) oufalsede ne pas modifier les heures de fichier lors de la création de packages déterministes. Cette option est ignorée siDeterministicelle n’est pas activée.-ExcludeSpécifie un ou plusieurs modèles génériques à exclure lors de la création d’un package. Pour spécifier plusieurs modèles, répétez l’indicateur -Exclude. Voir l'exemple ci-dessous.
-ExcludeEmptyDirectoriesEmpêche l’inclusion de répertoires vides lors de la génération du package.
-ForceEnglishOutput(3.5+) Force nuget.exe à s’exécuter à l’aide d’une culture invariante basée sur l’anglais.
-?|-helpAffiche les informations d’aide pour la commande.
-IncludeReferencedProjectsIndique que le package généré doit inclure des projets référencés en tant que dépendances ou dans le cadre du package. Si un projet référencé a un fichier
.nuspeccorrespondant qui porte le même nom que le projet, ce projet référencé est ajouté en tant que dépendance. Sinon, le projet référencé est ajouté dans le cadre du package.-InstallPackageToOutputPathSpécifiez si la commande doit préparer le répertoire de sortie du package pour prendre en charge le partage en tant que flux.
-MinClientVersionDéfinissez l’attribut minClientVersion pour le package créé. Cette valeur remplace la valeur de l’attribut minClientVersion existant (le cas échéant) dans le
.nuspecfichier.-MSBuildPath(4.0+) Spécifie le chemin d’accès de MSBuild à utiliser avec la commande, en précédant
-MSBuildVersion.-MSBuildVersion(3.2+) Spécifie la version de MSBuild à utiliser avec cette commande. Les valeurs prises en charge sont 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9. Par défaut, msBuild dans votre chemin d’accès est sélectionné ; sinon, il est défini par défaut sur la version installée la plus élevée de MSBuild.
-NoDefaultExcludesEmpêche l’exclusion par défaut des fichiers et des fichiers et dossiers du package NuGet à partir d’un point, tel que
.svnet.gitignore.-NonInteractiveSupprime les invites pour l’entrée utilisateur ou les confirmations.
-NoPackageAnalysisSpécifie que le pack ne doit pas exécuter l’analyse du package après avoir généré le package.
-OutputDirectorySpécifie le dossier dans lequel le package créé est stocké. Si aucun dossier n’est spécifié, le dossier actif est utilisé.
-OutputFileNamesWithoutVersionSpécifiez si la commande doit préparer le nom de sortie du package sans la version.
-PackagesDirectorySpécifie le dossier packages.
-p|-PropertiesDoit apparaître en dernier sur la ligne de commande après d’autres options. Spécifie une liste de propriétés qui remplacent les valeurs dans le fichier project ; consultez Propriétés courantes de MSBuild Project pour les noms de propriétés. L’argument Properties est ici une liste de paires token=value, séparées par des points-virgules, où chaque occurrence du
$token$.nuspecfichier sera remplacée par la valeur donnée. Les valeurs peuvent être des chaînes entre guillemets. Notez que pour la propriété « Configuration », la valeur par défaut est « Déboguer ». Pour passer à une configuration Release, utilisez-Properties Configuration=Release. En règle générale, les propriétés doivent être les mêmes que celles utilisées lors de la génération de projet correspondante, afin d’éviter un comportement potentiellement étrange.-SolutionDirectorySpécifie le répertoire de la solution.
-Suffix(3.4.4+) Ajoute un suffixe au numéro de version généré en interne, généralement utilisé pour ajouter une build ou d’autres identificateurs de préversion. Par exemple, l’utilisation
-suffix nightlycrée un package avec un numéro de version tel que1.2.3-nightly. Les suffixes doivent commencer par une lettre pour éviter les avertissements, erreurs et incompatibilités potentielles avec différentes versions de NuGet et le Gestionnaire de package NuGet.-SymbolPackageFormatLors de la création d’un package de symboles, permet de choisir entre le format et
symbols.nupkglesnupkgformat.-SymbolsSpécifie que le package contient des sources et des symboles. Lorsqu’il est utilisé avec un fichier
.nuspec, cela crée un fichier de package NuGet standard et le package de symboles correspondants. Par défaut, il crée un package de symboles hérité. Le nouveau format recommandé pour les packages de symboles est .snupkg. Consultez Création de packages de symboles (.snupkg).-ToolSpécifie que les fichiers de sortie du projet doivent être placés dans le dossier dans le
toolspackage.-Verbosity [normal|quiet|detailed]Spécifie la quantité de détails affichée dans la sortie :
normal(la valeur par défaut),quietoudetailed.-VersionRemplace le numéro de version du
.nuspecfichier.
Voir également les variables d’environnement
Exclusion des dépendances de développement
Certains packages NuGet sont utiles en tant que dépendances de développement, qui vous aident à créer votre propre bibliothèque, mais ne sont pas nécessairement nécessaires en tant que dépendances de package réelles.
La pack commande ignore package les entrées dont packages.config l’attribut a la developmentDependency valeur true. Ces entrées ne seront pas inclure en tant que dépendances dans le package créé.
Par exemple, considérez le fichier suivant packages.config dans le projet source :
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="jQuery" version="1.5.2" />
<package id="netfx-Guard" version="1.3.3.2" developmentDependency="true" />
<package id="microsoft-web-helpers" version="1.15" />
</packages>
Pour ce projet, le package créé par nuget pack aura une dépendance et jQuerymicrosoft-web-helpers non netfx-Guard.
Suppression des avertissements de pack
Bien qu’il soit recommandé de résoudre tous les avertissements NuGet pendant les opérations de votre pack, dans certaines situations, la suppression de ces avertissements est justifiée.
Pour ce faire, procédez comme suit :
nuget.exe pack package.nuspec -Properties NoWarn=NU5104
Exemples
nuget pack
nuget pack foo.nuspec
nuget pack foo.csproj
nuget pack foo.csproj -Properties Configuration=Release
nuget pack foo.csproj -Build -Symbols -Properties owners=janedoe,xiaop;version="1.0.5"
# Create a package from project foo.csproj, using MSBuild version 12 to build the project
nuget pack foo.csproj -Build -Symbols -MSBuildVersion 12 -Properties owners=janedoe,xiaop;version="1.0.5"
# Create a package from project foo.nuspec and the corresponding symbol package using the new recommended format .snupkg
nuget pack foo.nuspec -Symbols -SymbolPackageFormat snupkg
nuget pack foo.nuspec -Version 2.1.0
nuget pack foo.nuspec -Version 1.0.0 -MinClientVersion 2.5
nuget pack Package.nuspec -exclude "*.exe" -exclude "*.bat"
Note
La pack commande pour les projets de style SDK n’est pas prise en charge, l’utilisation dotnet pack ou msbuild -t:pack le pack de ces projets à la place.