Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: creación de paquetes • Versiones compatibles: 2.7+
Crea un paquete NuGet basado en el archivo de proyecto o .nuspec especificado. El dotnet pack comando (consulte dotnet Commands) y msbuild -t:pack (consulte Destinos de MSBuild) se pueden usar como alternativas.
Importante
Use dotnet pack o msbuild -t:pack para proyectos basados en PackageReference . A partir de la versión 6.5 y posteriores de NuGet, el comando pack producirá un error al intentar empaquetar estos tipos de proyecto. Las versiones anteriores intentarían empaquetar, pero es posible que el paquete generado no sea correcto.
En Mono, no se admite la creación de un paquete a partir de un archivo de proyecto. También debe ajustar las rutas de acceso no locales del .nuspec archivo a rutas de acceso de estilo Unix, ya que nuget.exe no convierte los nombres de ruta de acceso Windows.
Uso
nuget pack <nuspecPath | projectPath> [options] [-Properties ...]
donde <nuspecPath> y <projectPath> especifican el .nuspec archivo de proyecto o , respectivamente.
Options
-BasePathEstablece la ruta de acceso base de los archivos definidos en el archivo .nuspec .
-BuildEspecifica que el proyecto debe compilarse antes de compilar el paquete.
-ConfigFileArchivo de configuración de NuGet que se va a aplicar. Si no se especifica,
%AppData%\NuGet\NuGet.Configse usa (Windows) o~/.nuget/NuGet/NuGet.Config~/.config/NuGet/NuGet.Config(Mac/Linux).-Deterministic(7.9+) Compile paquetes en modo determinista. Esto genera paquetes idénticos a bits para la misma entrada (código fuente, archivo de proyecto, configuración de compilación), con una advertencia conocida de las marcas de tiempo. Vea
DeterministicTimestampcómo reproducir con fechas y horas idénticas.-DeterministicTimestamp(7.9+) Especifique una marca de tiempo que se usa como fecha y hora de modificación del archivo para todos los archivos agregados al paquete NuGet. Puede ser una fecha y hora en formato RFC 3339 (como
1996-12-19T16:39:57-08:00), puede ser el número de segundos no bisiesto desde las 00:00:00 UTC el 1 de enero de 1970 (también conocido como hora de Unix), o puede ser la cadenatrueespecial (valor predeterminado, usar la hora del reloj actual) ofalseno modificar las horas de archivo al crear paquetes deterministas. Esta opción se omite siDeterministicno está habilitada.-ExcludeEspecifica uno o varios patrones de caracteres comodín que se excluirán al crear un paquete. Para especificar más de un patrón, repita la marca -Exclude. Consulte el ejemplo siguiente.
-ExcludeEmptyDirectoriesImpide la inclusión de directorios vacíos al compilar el paquete.
-ForceEnglishOutput(3.5+) Fuerza a nuget.exe ejecutar mediante una referencia cultural invariable basada en inglés.
-?|-helpMuestra información de ayuda para el comando.
-IncludeReferencedProjectsIndica que el paquete compilado debe incluir proyectos a los que se hace referencia como dependencias o como parte del paquete. Si un proyecto al que se hace referencia tiene un archivo
.nuspeccorrespondiente que tiene el mismo nombre que el proyecto, ese proyecto al que se hace referencia se agrega como una dependencia. De lo contrario, el proyecto al que se hace referencia se agrega como parte del paquete.-InstallPackageToOutputPathEspecifique si el comando debe preparar el directorio de salida del paquete para admitir el recurso compartido como fuente.
-MinClientVersionEstablezca el atributo minClientVersion para el paquete creado. Este valor invalidará el valor del atributo minClientVersion existente (si existe) en el
.nuspecarchivo.-MSBuildPath(4.0+) Especifica la ruta de acceso de MSBuild que se va a usar con el comando , teniendo prioridad sobre
-MSBuildVersion.-MSBuildVersion(3.2+) Especifica la versión de MSBuild que se va a usar con este comando. Los valores admitidos son 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9. De forma predeterminada, se selecciona MSBuild en la ruta de acceso; de lo contrario, el valor predeterminado es la versión instalada más alta de MSBuild.
-NoDefaultExcludesImpide la exclusión predeterminada de archivos y carpetas de paquetes NuGet a partir de un punto, como
.svny.gitignore.-NonInteractiveSuprime las solicitudes de entrada o confirmaciones del usuario.
-NoPackageAnalysisEspecifica que el paquete no debe ejecutar el análisis de paquetes después de compilar el paquete.
-OutputDirectoryEspecifica la carpeta en la que se almacena el paquete creado. Si no se especifica ninguna carpeta, se usa la carpeta actual.
-OutputFileNamesWithoutVersionEspecifique si el comando debe preparar el nombre de salida del paquete sin la versión.
-PackagesDirectoryEspecifica la carpeta packages.
-p|-PropertiesDebe aparecer por última vez en la línea de comandos después de otras opciones. Especifica una lista de propiedades que invalidan los valores del archivo project; vea Common MSBuild Project Properties for property names (Propiedades comunes de MSBuild Project para los nombres de propiedad). El argumento Properties aquí es una lista de pares token=value, separados por punto y coma, donde cada aparición de
$token$en el.nuspecarchivo se reemplazará por el valor especificado. Los valores pueden ser cadenas entre comillas. Tenga en cuenta que para la propiedad "Configuration", el valor predeterminado es "Depurar". Para cambiar a una configuración de versión, use-Properties Configuration=Release. En general, Las propiedades deben ser las mismas que se usaron durante la compilación del proyecto correspondiente, con el fin de evitar un comportamiento potencialmente extraño.-SolutionDirectoryEspecifica el directorio de la solución.
-Suffix(3.4.4+) Anexa un sufijo al número de versión generado internamente, que normalmente se usa para anexar la compilación u otros identificadores de versión preliminar. Por ejemplo, el uso
-suffix nightlyde creará un paquete con un número de versión como1.2.3-nightly. Los sufijos deben comenzar con una letra para evitar advertencias, errores y posibles incompatibilidades con diferentes versiones de NuGet y nuGet Administrador de paquetes.-SymbolPackageFormatAl crear un paquete de símbolos, permite elegir entre el
snupkgformato ysymbols.nupkg.-SymbolsEspecifica que el paquete contiene orígenes y símbolos. Cuando se usa con un archivo
.nuspec, se crea un archivo de paquete NuGet normal y el paquete de símbolos correspondiente. De forma predeterminada, crea un paquete de símbolos heredado. El nuevo formato recomendado para los paquetes de símbolos es .snupkg. Consulte Creación de paquetes de símbolos (.snupkg).-ToolEspecifica que los archivos de salida del proyecto deben colocarse en la
toolscarpeta del paquete.-Verbosity [normal|quiet|detailed]Especifica la cantidad de detalles que se muestran en la salida:
normal(valor predeterminado),quietodetailed.-VersionInvalida el número de versión del
.nuspecarchivo.
Consulte también Variables de entorno.
Exclusión de dependencias de desarrollo
Algunos paquetes NuGet son útiles como dependencias de desarrollo, que le ayudan a crear su propia biblioteca, pero no son necesariamente necesarias como dependencias de paquetes reales.
El pack comando omitirá package las entradas de que tienen el developmentDependency atributo establecido trueen packages.config . Estas entradas no se incluirán como dependencias en el paquete creado.
Por ejemplo, considere el siguiente packages.config archivo en el proyecto de origen:
<?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>
Para este proyecto, el paquete creado por nuget pack tendrá una dependencia en jQuery y microsoft-web-helpers , pero no netfx-Guarden .
Suprimir advertencias del paquete
Aunque se recomienda resolver todas las advertencias de NuGet durante las operaciones del paquete, en determinadas situaciones se garantiza supresión.
Puede lograrlo de la siguiente manera:
nuget.exe pack package.nuspec -Properties NoWarn=NU5104
Ejemplos
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
No se admite el pack comando para proyectos de estilo SDK, use dotnet pack o msbuild -t:pack para empaquetar estos proyectos en su lugar.