Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: criação de pacotes • Versões suportadas: 2.7+
Cria um pacote NuGet baseado no .nuspec ou ficheiro de projeto especificado. Os dotnet pack comandos (ver Comandos dotnet) e msbuild -t:pack (ver alvos MSBuild) podem ser usados como alternativas.
Importante
Utilizar dotnet pack ou msbuild -t:pack para projetos baseados em PackageReference . A partir da versão 6.5+ do NuGet, o comando pack apresenta erro ao tentar empacotar estes tipos de projeto. Versões anteriores tentavam embalar, mas o pacote gerado podia não estar correto.
Em Mono, não é suportado criar um pacote a partir de um ficheiro de projeto. Também precisa de ajustar caminhos não locais no .nuspec ficheiro para caminhos ao estilo Unix, pois nuget.exe não converte Windows nomes de caminhos por si só.
Usage
nuget pack <nuspecPath | projectPath> [options] [-Properties ...]
onde <nuspecPath> e <projectPath> especificam o .nuspec ficheiro de projeto ou, respetivamente.
Opções
-BasePathDefine o caminho base dos ficheiros definidos no ficheiro .nuspec .
-BuildEspecifica que o projeto deve ser construído antes de construir o pacote.
-ConfigFileO arquivo de configuração do NuGet a ser aplicado. Se não for especificado,
%AppData%\NuGet\NuGet.Config(Windows) ou~/.nuget/NuGet/NuGet.Config~/.config/NuGet/NuGet.Config(Mac/Linux) é usado.-Deterministic(7,9+) Construa pacotes em modo determinístico. Isto produz pacotes idênticos a bits para a mesma entrada (código-fonte, ficheiro de projeto, configuração de compilação), com uma ressalva conhecida de carimbos temporais. Veja
DeterministicTimestampcomo reproduzir com datas/horas idênticas.-DeterministicTimestamp(7,9+) Especifique um carimbo temporal que seja usado como data/hora de modificação do ficheiro para todos os ficheiros adicionados ao pacote NuGet. Pode ser uma data/hora no formato RFC 3339 (como
1996-12-19T16:39:57-08:00), pode ser o número de segundos intercalares desde as 00:00:00 UTC de 1 de janeiro de 1970 (também conhecida como hora Unix), ou pode ser a cadeiatrueespecial (padrão, usar a hora atual do relógio de parede), oufalsenão modificar os tempos dos ficheiros ao criar pacotes determinísticos. Esta opção é ignorada seDeterministicnão estiver ativada.-ExcludeEspecifica um ou mais padrões de wildcard a excluir ao criar um pacote. Para especificar mais do que um padrão, repita a bandeira -Exclude. Veja o exemplo abaixo.
-ExcludeEmptyDirectoriesPrevine a inclusão de diretórios vazios na construção do pacote.
-ForceEnglishOutput(3,5+) Obriga nuget.exe a correr usando uma cultura invariante baseada no inglês.
-?|-helpExibe informações de ajuda para o comando.
-IncludeReferencedProjectsIndica que o pacote construído deve incluir projetos referenciados, seja 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 é adicionado como parte do pacote.-InstallPackageToOutputPathEspecifique se o comando deve preparar o diretório de saída do pacote para suportar partilha como feed.
-MinClientVersionDefina o atributo minClientVersion para o pacote criado. Este valor substituirá o valor do atributo minClientVersion existente (se existir) no
.nuspecficheiro.-MSBuildPath(4.0+) Especifica o caminho do MSBuild a usar 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 suportados são 4, 12, 14, 15,1, 15,3, 15,4, 15,5, 15,6, 15,7, 15,8, 15,9. Por defeito, o MSBuild no teu caminho é escolhido, caso contrário passa para a versão mais alta instalada do MSBuild.
-NoDefaultExcludesPrevine a exclusão por defeito de ficheiros e pastas de pacotes NuGet que começam por um ponto, como
.svne.gitignore.-NonInteractiveSuprime solicitações de entrada ou confirmações do usuário.
-NoPackageAnalysisEspecifica que o pacote não deve executar análise de pacotes após a construção do pacote.
-OutputDirectoryEspecifica a pasta onde o pacote criado está armazenado. Se não for especificada a pasta, a pasta atual é utilizada.
-OutputFileNamesWithoutVersionEspecifique se o comando deve preparar o nome de saída do pacote sem a versão.
-PackagesDirectoryEspecifica a pasta de pacotes.
-p|-PropertiesDeverá aparecer por último na linha de comandos depois de outras opções. Especifica uma lista de propriedades que sobrepõem valores no ficheiro do project; veja Common MSBuild Project Properties para nomes de propriedades. O argumento Properties aqui é uma lista de pares token=valor, separados por ponto e vírgula, onde cada ocorrência de
$token$no.nuspecficheiro será substituída pelo valor dado. Os valores podem ser cadeias de caracteres entre aspas. Note que para a propriedade "Configuration", o padrão é "Debug". Para mudar para uma configuração de Release, use-Properties Configuration=Release. Em geral, as Propriedades devem ser as mesmas que foram usadas durante a construção correspondente do projeto, para evitar comportamentos potencialmente estranhos.-SolutionDirectoryEspecifica o diretório de soluções.
-Suffix(3.4.4+) Adiciona um sufixo ao número de versão gerado internamente, normalmente usado para acrescentar identificadores de compilação ou outros pré-lançamento. Por exemplo, usar
-suffix nightlyirá criar 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 potenciais incompatibilidades com diferentes versões do NuGet e do NuGet Gestor de Pacotes.-SymbolPackageFormatAo criar um pacote de símbolos, permite escolher entre o
snupkgformato esymbols.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 defeito, cria um pacote de símbolos legado. O novo formato recomendado para pacotes de símbolos é .snupkg. Consulte Criação de pacotes de símbolos (.snupkg).-ToolEspecifica que os ficheiros de saída do projeto devem ser colocados na
toolspasta dentro do pacote.-Verbosity [normal|quiet|detailed]Especifica a quantidade de detalhes exibidos na saída:
normal(o padrão),quietoudetailed.-VersionSobrepõe o número de versão do
.nuspecficheiro.
Consulte também Variáveis de ambiente
Excluindo dependências de desenvolvimento
Alguns pacotes NuGet são úteis como dependências de desenvolvimento, que ajudam a criar a sua própria biblioteca, mas não são necessariamente necessários como dependências reais de pacotes.
O comando ignora package entradas em packages.config que têm developmentDependency o atributo definido como true.pack Estas entradas não serão incluídas como dependências no pacote criado.
Por exemplo, considere o seguinte packages.config ficheiro no projeto fonte:
<?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 netfx-Guard.
Suprimir avisos de matilha
Embora seja recomendado que resolva todos os avisos NuGet durante as operações da matilha, em certas situações é necessário suprimi-los.
Pode conseguir isso da seguinte forma:
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"
Note
O pack comando para projetos ao estilo SDK não é suportado, use dotnet pack ou msbuild -t:pack embale esses projetos em vez disso.