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.
Neste início rápido, você usará Microsoft Visual Studio para criar um pacote NuGet de uma biblioteca de classes .NET. Em seguida, você publica o pacote para nuget.org usando uma ferramenta de CLI (interface de linha de comando).
Este início rápido é somente para usuários Windows. Se você estiver usando uma plataforma diferente, use a CLI .NET.
Pré-requisitos
Visual Studio 2026 com uma carga de trabalho relacionada a .NET.
Você pode instalar a edição 2026 community gratuitamente de visualstudio.microsoft.com ou pode usar a edição Professional ou Enterprise.
Visual Studio 2017 e posteriores incluem automaticamente os recursos do NuGet quando você instala uma carga de trabalho relacionada a .NET.
A CLI do .NET.
Para Visual Studio 2017 e posteriores, a CLI do .NET é instalada automaticamente com qualquer carga de trabalho relacionada a .NET. Você também pode instalar o SDK .NET para obter a CLI .NET. A CLI de .NET é necessária para projetos .NET que usam o formato de estilo SDK (e um atributo SDK). O modelo de biblioteca de classes .NET padrão no Visual Studio 2017 e posterior usa o atributo SDK.
Importante
Se você estiver trabalhando com um projeto não estilo SDK, siga os procedimentos em Criar e publicar um pacote usando Visual Studio (.NET Framework, Windows) para criar e publicar o pacote. Para este artigo, a CLI do .NET é recomendada. Embora você possa publicar qualquer pacote NuGet usando a CLI do NuGet, algumas das etapas neste artigo são específicas para projetos no estilo SDK e a CLI .NET. A CLI do NuGet é usada para projetos no estilo não-SDK (normalmente projetos do .NET Framework).
Uma conta gratuita no nuget.org. Você deve registrar e confirmar a conta antes de carregar um pacote NuGet.
O CLI do NuGet. Você pode instalá-lo baixando-o de nuget.org. Adicione o arquivo nuget.exe a uma pasta adequada e adicione essa pasta à variável
PATHde ambiente.
Criar um projeto de biblioteca de classes
Você pode usar um projeto de biblioteca de classes .NET existente para o código que deseja empacotar ou pode criar um seguindo as seguintes etapas:
Em Visual Studio, selecione File>New>Project/Solution.
Na janela Criar um novo projeto , vá para a caixa de pesquisa e insira a biblioteca de classes.
Na lista resultante de modelos de projeto, selecione o modelo da Biblioteca de Classes que atende aos seguintes critérios:
- Tem a descrição A projeto para criar uma biblioteca de classes que tem como destino .NET ou .NET Standard
- Tem uma tag C#
Selecione Próximo.
Na janela Configurar sua nova janela project, para Project name, insira AppLogger e selecione Next.
Na janela Informações adicionais , selecione um valor apropriado para o Framework e, em seguida, selecione Criar.
Se você não tiver certeza de qual estrutura selecionar, a mais recente será uma boa opção e poderá ser facilmente alterada mais tarde. Para obter informações sobre qual estrutura usar, consulte Quando direcionar
netx.0vs.netstandard.(Opcional) Para este início rápido, você não precisa escrever nenhum código adicional para o pacote NuGet, pois a biblioteca de classes de modelo é suficiente para criar um pacote. No entanto, se você quiser adicionar algum código funcional ao pacote, inclua o seguinte código:
namespace AppLogger { public class Logger { public void Log(string text) { Console.WriteLine(text); } } }
Configurar propriedades do pacote
Depois de criar seu projeto, você pode configurar as propriedades do pacote NuGet seguindo estas etapas:
Em Solution Explorer, selecione seu projeto e selecione Project><project-name> Propriedades, onde <project-name> é o nome do projeto.
Expanda o nó Pacote e selecione Geral.
O nó Pacote aparece apenas para projetos no estilo SDK no Visual Studio. Se você estiver destinando um projeto de estilo não SDK (normalmente projetos do .NET Framework), migre o projeto ou veja Criar e publicar um pacote usando Visual Studio (.NET Framework, Windows) para obter instruções passo a passo.
Para ID do Pacote, forneça ao pacote um ID exclusivo.
Importante
Você deve dar ao pacote um identificador exclusivo no host que você usa, como nuget.org. Caso contrário, ocorrerá um erro. Para este início rápido, recomendamos incluir Exemplo ou Teste na ID, pois a etapa de publicação torna o pacote publicamente visível. Para obter mais informações sobre como selecionar uma ID, consulte As práticas recomendadas para o identificador de pacote.
Preencha todas as outras propriedades desejadas. Para pacotes criados para consumo público, preste atenção especial à propriedade Tags, porque as tags ajudam outras pessoas a encontrar seu pacote e entender o que ele faz.
Todas as propriedades vão para o manifesto .nuspec que Visual Studio cria para o projeto. Para obter uma tabela que mostra como as propriedades do Microsoft Build (MSBuild) em projetos no estilo SDK são mapeadas para as propriedades de arquivo do .nuspec, consulte pack target. Para obter uma descrição das propriedades do arquivo .nuspec , consulte a referência .nuspec.
(Opcional) Para ver as propriedades diretamente no arquivo de projeto AppLogger.csproj, selecione Project>Editar arquivo de projeto.
O arquivo AppLogger.csproj é aberto em uma nova guia.
Essa opção está disponível para projetos que usam o atributo estilo SDK.
Executar o comando pack
Para criar um pacote NuGet do seu projeto, siga estas etapas:
Selecione Build>Configuration Manager e em seguida defina o valor da configuração de solução ativa como Release.
Em Solution Explorer, clique com o botão direito do mouse no projeto AppLogger e selecione Pack.
O Visual Studio compila o projeto e cria o arquivo .nupkg.
Examine a janela Saída para obter informações detalhadas, incluindo o caminho para o arquivo de pacote. Neste exemplo, o assembly compilado está na pasta bin\Release\net8.0, que é apropriada para um destino .NET 8.0:
1>------ Build started: Project: AppLogger, Configuration: Release Any CPU ------ 1> AppLogger -> d:\proj\AppLogger\AppLogger\bin\Release\net8.0\AppLogger.dll 1> Successfully created package 'd:\proj\AppLogger\AppLogger\bin\Release\Contoso.App.Logger.Test.1.0.0.nupkg'. ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
Se o comando Pack estiver ausente no menu, seu projeto provavelmente não será um projeto no estilo SDK. Siga uma destas etapas:
- Upgrade o projeto para que você possa usar a CLI .NET.
- Siga as instruções em Criar e publicar um pacote usando Visual Studio (.NET Framework, Windows) para usar a CLI do NuGet para criar e publicar um pacote NuGet do seu projeto.
(Opcional) Gerar pacote durante o processo de compilação
Você pode configurar o Visual Studio para gerar automaticamente o pacote NuGet ao compilar o projeto:
Selecione seu projeto em Solution Explorer e selecione Project><project-name> Properties, em que <project-name> é o nome do projeto (AppLogger nesse caso).
Expanda o nó Pacote, selecione Gerale, em seguida, selecione Gerar pacote NuGet durante a compilação.
Nota
Quando você seleciona essa opção, o tempo extra necessário para gerar o pacote aumenta o tempo de build geral do projeto.
(Opcional) Empacotar com o MSBuild
Como alternativa ao uso do comando de menu Pacote , você pode usar o msbuild -t:pack comando para criar um pacote NuGet do seu projeto. O NuGet 4.x+ e o MSBuild 15.1+ dão suporte a um alvo pack quando o projeto contém os dados de pacote necessários.
Com o projeto aberto em Solution Explorer, abra uma janela de prompt de comando selecionando Tools>Command Line>Developer Command Prompt.
A janela do prompt de comando é aberta no diretório do projeto.
Execute o seguinte comando:
msbuild -t:pack.
Para obter mais informações, consulte Criar um pacote NuGet usando o MSBuild.
Publicar o pacote
Depois de criar um arquivo .nupkg, execute as etapas nas seções a seguir para publicá-lo no nuget.org. Você pode usar a CLI .NET ou a CLI do NuGet para publicação. Você também usa uma chave de API que você adquire de nuget.org.
Nota
Nuget.org examina todos os pacotes carregados em busca de vírus e rejeita todos os pacotes que contêm vírus. Nuget.org também verifica todos os pacotes listados existentes periodicamente.
Os pacotes publicados em nuget.org são publicamente visíveis para outros desenvolvedores, a menos que você os desliste. Para hospedar pacotes privadamente, consulte como hospedar seus próprios feeds do NuGet.
Adquirir sua chave de API
Antes de publicar seu pacote NuGet, crie uma chave de API:
Entre em sua conta nuget.org ou crie uma conta se você ainda não tiver uma.
No canto superior direito, selecione o nome de usuário e, em seguida, selecione Chaves de API.
Selecione Criar e, em seguida, insira um nome para sua chave.
Em Selecionar Escopos, selecione Push.
Em Selecionar Pacotes, para Padrão Glob, insira um asterisco (*).
Selecione Criar.
Selecione Copiar para copiar a nova chave.
Importante
- Sempre mantenha sua chave de API em segredo. A chave de API é como uma senha que qualquer pessoa pode usar para gerenciar pacotes em seu nome. Exclua ou regenere sua chave de API se ela for revelada acidentalmente.
- Salve sua chave em um local seguro, pois não é possível copiar a chave novamente mais tarde. Se você retornar à página de chave da API, será necessário regenerar a chave para copiá-la. Você também pode remover a chave de API se não quiser mais enviar pacotes por push.
Escopo fornece uma maneira de criar chaves de API separadas para diferentes propósitos. Cada chave tem um período de expiração e você pode definir o escopo da chave para pacotes específicos ou padrões globais. Você também define o escopo de cada chave para operações específicas: enviar novos pacotes e versões, enviar apenas novas versões de pacote ou deslistar.
Por meio do escopo, você pode criar chaves de API para diferentes pessoas que gerenciam pacotes para sua organização para que tenham apenas as permissões necessárias.
Para obter mais informações, consulte chaves de API restritas.
Publicar usando a CLI .NET ou a CLI do NuGet
Você pode usar a CLI .NET ou a CLI do NuGet para enviar um pacote por push para o servidor e publicá-lo. Vá para a aba da ferramenta que você deseja utilizar.
A CLI .NET (dotnet.exe) é a alternativa recomendada para a CLI do NuGet.
Na pasta que contém o arquivo .nupkg, execute o comando a seguir. Substitua <package-file> pelo nome do arquivo .nupkg e substitua pela <API-key> chave de API.
dotnet nuget push <package-file> --api-key <API-key> --source https://api.nuget.org/v3/index.json
O resultado apresenta os resultados do processo de publicação:
Pushing <package-file> to 'https://www.nuget.org/api/v2/package'...
PUT https://www.nuget.org/api/v2/package/
Created https://www.nuget.org/api/v2/package/ 2891ms
Your package was pushed.
Para obter mais informações, consulte dotnet nuget push.
Erros durante a publicação
Ao executar o push comando, às vezes você encontra um erro. Por exemplo, você pode receber um erro nas seguintes situações:
- Sua chave de API é inválida ou expirou.
- Você tenta publicar um pacote que tem um identificador que já existe no host.
- Você faz alterações em um pacote publicado, mas esquece de atualizar o número de versão antes de tentar publicá-lo novamente.
A mensagem de erro normalmente indica a origem do problema.
Por exemplo, suponha que o identificador Contoso.App.Logger.Test exista no nuget.org. Se você tentar publicar um pacote com esse identificador, receberá o seguinte erro:
Response status code does not indicate success: 403 (The specified API key is invalid, has expired, or does not have permission to access the specified package.).
Para resolver essa situação, verifique o escopo, a data de validade e o valor da chave de API. Se a chave for válida, o erro indicará que o identificador do pacote já existe no host. Para superar o problema, altere o identificador do pacote para ser exclusivo, recompile o projeto, recrie o arquivo .nupkg e repita o push comando.
Gerenciar o pacote publicado
Quando o pacote for publicado com êxito, você receberá um email de confirmação. Para ver o pacote publicado, vá para nuget.org, selecione o nome de usuário no canto superior direito e selecione Gerenciar Pacotes.
Nota
Pode demorar um pouco para que o pacote seja indexado e apareça nos resultados da pesquisa em que outras pessoas possam encontrá-lo. Durante esse tempo, seu pacote aparece em pacotes não listadose a página do pacote mostra a seguinte mensagem:
Agora que seu pacote NuGet é publicado no nuget.org, outros desenvolvedores podem usá-lo em seus projetos.
Se você criar um pacote que não seja útil (como este pacote de exemplo de uma biblioteca de classes vazia) ou se não quiser que o pacote fique visível, você poderá deslistar o pacote para ocultá-lo dos resultados da pesquisa:
Depois que o pacote for exibido em Pacotes Publicados na página Gerenciar Pacotes, selecione o ícone de lápis ao lado do item na listagem de pacotes.
Na próxima página, selecione Listagem, desmarque a Lista na caixa de seleção de resultados da pesquisa e selecione Salvar.
O pacote agora aparece em Pacotes Não Listados em Gerenciar Pacotes e não aparece mais nos resultados da pesquisa.
Nota
Para evitar que seu pacote de teste esteja ativo no nuget.org, você pode carregá-lo no site de teste nuget.org no endereço https://int.nugettest.org. Observe que os pacotes carregados em int.nugettest.org podem não ser preservados.
Adicionar um arquivo read-me ou outro
Você pode incluir um arquivo read-me ou outros arquivos em seu pacote.
Adicionar um arquivo read-me
Para adicionar um arquivo read-me ao pacote, execute as seguintes etapas:
Abra o arquivo project selecionando Project>Edit Project File.
No arquivo de projeto, vá para o
PropertyGroupelemento e adicione umPackageReadmeFileelemento filho:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> ... <PackageReadmeFile>readme.md</PackageReadmeFile> ... </PropertyGroup> </Project>Vá para o
ItemGroupelemento e adicione umNoneelemento filho:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> ... <PackageReadmeFile>readme.md</PackageReadmeFile> ... </PropertyGroup> <ItemGroup> ... <None Include="readme.md" Pack="true" PackagePath="\" /> ... </ItemGroup> </Project>
No exemplo anterior, a propriedade especifica um arquivo chamado readme.md na raiz do projeto. Depois de compilar, empacotar e publicar seu pacote, nuget.org exibirá o conteúdo do arquivo read-me na página do pacote. Visual Studio também exibe o conteúdo desse arquivo na interface do usuário do Package Manager.
Por exemplo, a captura de tela a seguir mostra o arquivo read-me do HtmlAgilityPack pacote:
Adicionar outros arquivos
Para adicionar outros arquivos a um pacote, abra o arquivo project selecionando Project>Edit Project File. Em seguida, adicione um Content elemento filho ao ItemGroup elemento:
<ItemGroup>
<Content Include="other-content.md">
<Pack>true</Pack>
<PackagePath>\</PackagePath>
</Content>
</ItemGroup>
Para obter mais informações, consulte Incluindo conteúdo em um pacote.
Vídeos relacionados
Para obter vídeos sobre como usar o NuGet para gerenciamento de pacotes, consulte .NET Gerenciamento de Pacotes com NuGet para Iniciantes e NuGet para Iniciantes.
Conteúdo relacionado
Para descobrir como criar um pacote NuGet com o Visual Studio .NET Framework, consulte Criar um pacote usando a CLI nuget.exe.
Para obter mais informações sobre o NuGet, consulte os seguintes artigos: