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.
Observação
O exemplo a seguir mostra exemplos de linha de comando usando o Unix. O dotnet pack comando mostrado aqui funciona da mesma maneira no Windows.
Espera-se que as bibliotecas .NET Standard e .NET Core sejam distribuídas como pacotes NuGet. Na verdade, é assim que todas as bibliotecas do .NET Standard são distribuídas e consumidas. Isso é feito com mais facilidade com o dotnet pack comando.
Imagine que você acabou de escrever uma nova biblioteca incrível que gostaria de distribuir pelo NuGet. Você pode criar um pacote NuGet com ferramentas multiplataforma para fazer exatamente isso! O exemplo a seguir pressupõe uma biblioteca chamada SuperAwesomeLibrary que tem como alvo netstandard1.0.
Se você tiver dependências transitivas, ou seja, um projeto que depende de outro pacote, certifique-se de restaurar pacotes para toda a solução com o dotnet restore comando antes de criar um pacote NuGet. Não fazer isso fará com que o dotnet pack comando não funcione corretamente.
Não é necessário executar dotnet restore, pois ele é executado implicitamente por todos os comandos que exigem uma restauração, como dotnet new, dotnet build, dotnet run, dotnet test, dotnet publish e dotnet pack. Para desabilitar a restauração implícita, use a opção --no-restore.
O comando dotnet restore ainda é útil em determinados cenários em que realizar uma restauração explícita faz sentido, como compilações de integração contínua no Azure DevOps Services ou em sistemas de compilação que precisam controlar explicitamente quando a restauração ocorrerá.
Para obter informações sobre como gerenciar feeds do NuGet, confira a documentação do dotnet restore.
Depois de garantir que os pacotes sejam restaurados, navegue até o diretório onde reside uma biblioteca:
cd src/SuperAwesomeLibrary
Em seguida, é apenas um único comando da linha de comando:
dotnet pack
Sua pasta /bin/Debug agora terá esta aparência:
$ ls bin/Debug
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg
Isso produz um pacote capaz de ser depurado. Se você quiser criar um pacote NuGet com binários de versão, tudo o que você precisa fazer é adicionar a opção --configuration (ou -c) e usar release como argumento.
dotnet pack --configuration release
Sua pasta /bin agora terá uma pasta de lançamento contendo seu pacote NuGet com binários de versão:
$ ls bin/release
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg
E agora você tem os arquivos necessários para publicar um pacote NuGet!
Não confunda dotnet pack com dotnet publish
É importante observar que em nenhum momento o dotnet publish comando está envolvido. O dotnet publish comando é para implantar aplicativos com todas as suas dependências no mesmo pacote, não para gerar um pacote NuGet a ser distribuído e consumido por meio do NuGet.