Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: criação de pacote • Versões com suporte: 2.7+
Cria um pacote NuGet com base no arquivo .nuspec ou de projeto especificado. O dotnet pack comando (consulte comandos dotnet) e msbuild -t:pack (consulte os destinos do MSBuild) podem ser usados como alternativas.
Importante
Use dotnet pack ou msbuild -t:pack para projetos baseados em PackageReference . A partir do NuGet versão 6.5+, o comando do pacote erro ao tentar empacotar esses tipos de projeto. Versões anteriores tentariam empacotar, mas o pacote gerado pode não estar correto.
Em Mono, não há suporte para a criação de um pacote de um arquivo de projeto. Você também precisa ajustar caminhos não locais no .nuspec arquivo para caminhos no estilo Unix, pois nuget.exe não converte Windows próprios nomes de caminho.
Usage
nuget pack <nuspecPath | projectPath> [options] [-Properties ...]
em que <nuspecPath> especifique <projectPath> o .nuspec arquivo ou o arquivo de projeto, respectivamente.
Opções
-BasePathDefine o caminho base dos arquivos definidos no arquivo .nuspec .
-BuildEspecifica que o projeto deve ser criado antes de compilar o pacote.
-ConfigFileO arquivo de configuração do NuGet a ser aplicado. Se não for especificado,
%AppData%\NuGet\NuGet.Config(Windows),~/.nuget/NuGet/NuGet.Configou~/.config/NuGet/NuGet.Config(Mac/Linux) será usado.-Deterministic(7,9+) Compilar pacotes no modo determinístico. Isso produz pacotes idênticos a bits para a mesma entrada (código-fonte, arquivo de projeto, configuração de build), com uma ressalva conhecida de carimbos de data/hora. Veja
DeterministicTimestampcomo reproduzir com data/hora idênticas.-DeterministicTimestamp(7,9+) Especifique um carimbo de data/hora usado como a data/hora de modificação do arquivo para todos os arquivos adicionados ao pacote NuGet. Pode ser uma data/hora no formato RFC 3339 (por
1996-12-19T16:39:57-08:00exemplo), pode ser o número de segundos não bissextos desde 00:00:00 UTC em 1 de janeiro de 1970 (também conhecido como a hora do Unix) ou pode ser a cadeiatruede caracteres especial (padrão, usar a hora atual do relógio de parede) oufalsenão modificar os tempos de arquivo ao criar pacotes determinísticos. Essa opção será ignorada seDeterministicnão estiver habilitada.-ExcludeEspecifica um ou mais padrões curinga a serem excluídos ao criar um pacote. Para especificar mais de um padrão, repita o sinalizador -Exclude. Consulte o exemplo a seguir.
-ExcludeEmptyDirectoriesImpede a inclusão de diretórios vazios ao compilar o pacote.
-ForceEnglishOutput(3,5+) Força nuget.exe a executar usando uma cultura invariável baseada em inglês.
-?|-helpExibe as informações de ajuda para o comando.
-IncludeReferencedProjectsIndica que o pacote compilado deve incluir projetos referenciados como dependências ou como parte do pacote. Se um projeto referenciado tiver um arquivo
.nuspeccorrespondente que tenha o mesmo nome do projeto, esse projeto referenciado será adicionado como uma dependência. Caso contrário, o projeto referenciado será adicionado como parte do pacote.-InstallPackageToOutputPathEspecifique se o comando deve preparar o diretório de saída do pacote para dar suporte ao compartilhamento como feed.
-MinClientVersionDefina o atributo minClientVersion para o pacote criado. Esse valor substituirá o valor do atributo minClientVersion existente (se houver) no
.nuspecarquivo.-MSBuildPath(4.0+) Especifica o caminho do MSBuild a ser usado com o comando, tendo precedência sobre
-MSBuildVersion.-MSBuildVersion(3.2+) Especifica a versão do MSBuild a ser usada com este comando. Os valores com suporte são 4, 12, 14, 15,1, 15,3, 15,4, 15,5, 15,6, 15,7, 15,8, 15,9. Por padrão, o MSBuild em seu caminho é escolhido, caso contrário, ele usa como padrão a versão mais alta instalada do MSBuild.
-NoDefaultExcludesImpede a exclusão padrão de arquivos de pacote nuGet e arquivos e pastas começando com um ponto, como
.svne.gitignore.-NonInteractiveSuprime solicitações de entrada de usuário ou confirmações.
-NoPackageAnalysisEspecifica que o pacote não deve executar a análise de pacote após a criação do pacote.
-OutputDirectoryEspecifica a pasta na qual o pacote criado é armazenado. Se nenhuma pasta for especificada, a pasta atual será usada.
-OutputFileNamesWithoutVersionEspecifique se o comando deve preparar o nome de saída do pacote sem a versão.
-PackagesDirectoryEspecifica a pasta de pacotes.
-p|-PropertiesDeve aparecer por último na linha de comando após outras opções. Especifica uma lista de propriedades que substituem valores no arquivo project; consulte Common MSBuild Project Properties for property names. O argumento Propriedades aqui é uma lista de pares token=valor, separados por ponto-e-vírgula, em que cada ocorrência do
$token$.nuspecarquivo será substituída pelo valor fornecido. Os valores podem ser cadeias de caracteres entre aspas. Observe que, para a propriedade "Configuração", o padrão é "Depurar". Para alterar para uma configuração de versão, use-Properties Configuration=Release. Em geral, as propriedades devem ser as mesmas usadas durante a compilação do projeto correspondente, a fim de evitar comportamentos potencialmente estranhos.-SolutionDirectoryEspecifica o diretório da solução.
-Suffix(3.4.4+) Acrescenta um sufixo ao número de versão gerado internamente, normalmente usado para acrescentar build ou outros identificadores de pré-lançamento. Por exemplo, usar
-suffix nightlycriará um pacote com um número de versão como1.2.3-nightly. Os sufixos devem começar com uma letra para evitar avisos, erros e possíveis incompatibilidades com versões diferentes do NuGet e do NuGet Gerenciador de Pacotes.-SymbolPackageFormatAo criar um pacote de símbolos, permite escolher entre o formato e
symbols.nupkgosnupkgformato.-SymbolsEspecifica que o pacote contém fontes e símbolos. Quando usado com um arquivo
.nuspec, isso cria um arquivo de pacote NuGet regular e o pacote de símbolos correspondente. Por padrão, ele cria um pacote de símbolo herdado. O novo formato recomendado para pacotes de símbolos é .snupkg. Consulte Criando pacotes de símbolos (.snupkg).-ToolEspecifica que os arquivos de saída do projeto devem ser colocados na
toolspasta dentro do pacote.-Verbosity [normal|quiet|detailed]Especifica a quantidade de detalhes exibida na saída:
normal(o padrão),quietoudetailed.-VersionSubstitui o número de versão do
.nuspecarquivo.
Veja também variáveis de ambiente
Excluindo dependências de desenvolvimento
Alguns pacotes NuGet são úteis como dependências de desenvolvimento, que ajudam você a criar sua própria biblioteca, mas não são necessariamente necessários como dependências reais do pacote.
O pack comando ignorará package as entradas que packages.config têm o developmentDependency atributo definido como true. Essas entradas não serão incluídas como dependências no pacote criado.
Por exemplo, considere o seguinte packages.config arquivo no projeto de origem:
<?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 projeto, o pacote criado por nuget pack terá uma dependência e jQuerymicrosoft-web-helpers não netfx-Guard.
Suprimindo avisos do pacote
Embora seja recomendável que você resolva todos os avisos do NuGet durante as operações do pacote, em determinadas situações, suprimi-los é garantido.
Você pode conseguir isso da seguinte maneira:
nuget.exe package.nuspec -Properties NoWarn=NU5104
Exemplos
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
Não pack há suporte para o comando para projetos no estilo SDK, use dotnet pack ou msbuild -t:pack empacote esses projetos.