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 pacotes • Versões suportadas: 2.7 ou superior
Cria um pacote NuGet com base no arquivo .nuspec ou de projeto especificado. O comando dotnet pack (consulte Comandos dotnet) e msbuild -t:pack (consulte 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 ou superior, o comando pack terá um erro ao tentar empacotar esses tipos de projetos. 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 a partir de um arquivo de projeto. Você também precisa ajustar caminhos não locais no arquivo .nuspec para caminhos no estilo Unix, pois o nuget.exe não converte nomes de caminhos do Windows em si.
Uso
nuget pack <nuspecPath | projectPath> [options] [-Properties ...]
em que <nuspecPath> e <projectPath> especificam o .nuspec ou 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.-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. Veja o exemplo abaixo.
-ExcludeEmptyDirectoriesImpede a inclusão de diretórios vazios ao criar o pacote.
-ForceEnglishOutput(3.5 ou superior) Força a execução de nuget.exe usando uma cultura invariável com base 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 oferecer 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 arquivo
.nuspec.-MSBuildPath(4.0 ou superior) Especifica o caminho do MSBuild a ser usado com o comando, tendo precedência sobre
-MSBuildVersion.-MSBuildVersion(3.2 ou superior) Especifica a versão do MSBuild a ser usada com esse comando. Os valores suportados 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 é selecionado, caso contrário, ele usa, por padrão, a versão mais recente instalada do MSBuild.
-NoDefaultExcludesImpede a exclusão padrão de arquivos de pacote do 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 compilaçã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 depois de outras opções. Especifica uma lista de propriedades que substituem valores no arquivo de projeto; consulte Propriedades comuns do projeto MSBuild para nomes de propriedades. O argumento Propriedades aqui é uma lista de pares de token=valor, separados por ponto e vírgula, em que cada ocorrência de
$token$no arquivo.nuspecserá substituída pelo valor fornecido. Os valores podem ser cadeias de caracteres entre aspas. Observe que para a propriedade “Configuração”, o padrão é “Depuração”. Para alterar para uma configuração de versão, use-Properties Configuration=Release. Em geral, as propriedades devem ser as mesmas que foram 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 ou superior) Acrescenta um sufixo ao número de versão gerado internamente, normalmente usado para anexar compilações 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 diferentes versões do NuGet e do Gerenciador de Pacotes do NuGet.-SymbolPackageFormatAo criar um pacote de símbolos, permite escolher entre o formato
snupkgesymbols.nupkg.-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ímbolos herdados. O novo formato recomendado para pacotes de símbolos é .snupkg. Veja Criando pacotes de símbolos (.snupkg).-ToolEspecifica que os arquivos de saída do projeto devem ser colocados na pasta
toolsno 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 arquivo
.nuspec.
Confira também Variáveis de ambiente
Excluir dependências de desenvolvimento
Alguns pacotes do NuGet são úteis como dependências de desenvolvimento, que ajudam você a criar sua própria biblioteca, mas não são necessariamente essenciais como dependências reais do pacote.
O comando pack ignorará as entradas package em packages.config com o atributo developmentDependency definido como true. Essas entradas não serão incluídas como dependências no pacote criado.
Por exemplo, considere o seguinte arquivo packages.config 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 em jQuery e microsoft-web-helpers, mas não em netfx-Guard.
Suprimir avisos de embalagem
Embora seja recomendável que você resolva todos os avisos do NuGet durante as operações de empacotar, em determinadas situações sua supressão é justificada.
Você pode fazer isso da seguinte maneira:
nuget.exe pack 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"
Observação
O comando pack para projetos no estilo SDK não é suportado, use dotnet pack ou msbuild -t:pack para empacotar esses projetos.