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.
Este artigo aplica-se a: ✔️ .NET 6 SDK e versões posteriores
Nome
dotnet package add - Adiciona ou atualiza uma referência de pacote em um arquivo de projeto.
Observação
Se você estiver usando o SDK do .NET 9 ou anterior, use a forma "verbo primeiro" (dotnet add package) em vez disso. A forma "substantivo primeiro" foi introduzida no .NET 10. Para obter mais informações, consulte Ordem de comando mais consistente.
Sinopse
dotnet package add <PACKAGE_NAME>
[-f|--framework <FRAMEWORK>] [--interactive] [--project <PROJECT>]
[-n|--no-restore] [--package-directory <PACKAGE_DIRECTORY>]
[--prerelease] [-s|--source <SOURCE>] [-v|--version <VERSION>]
dotnet package add -h|--help
Descrição
O dotnet package add comando fornece uma opção conveniente para adicionar ou atualizar uma referência de pacote em um arquivo de projeto. Quando você executa o comando, há uma verificação de compatibilidade para garantir que o pacote seja compatível com as estruturas no projeto. Se a verificação for aprovada e o pacote não for referenciado no arquivo de projeto, um <PackageReference> elemento será adicionado ao arquivo de projeto. Se a verificação for aprovada e o pacote já estiver referenciado no arquivo de projeto, o <PackageReference> elemento será atualizado para a versão compatível mais recente. Depois que o arquivo de projeto é atualizado, a restauração dotnet é executada.
Por exemplo, adicionar Microsoft.EntityFrameworkCore a ToDo.csproj produz uma saída semelhante ao exemplo a seguir:
Determining projects to restore...
Writing C:\Users\username\AppData\Local\Temp\tmp24A8.tmp
info : Adding PackageReference for package 'Microsoft.EntityFrameworkCore' into project 'C:\ToDo\ToDo.csproj'.
info : CACHE https://api.nuget.org/v3/registration5-gz-semver2/microsoft.entityframeworkcore/index.json
info : GET https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/516521bf-6417-457e-9a9c-0a4bdfde03e7/nuget/v3/registrations2-semver2/microsoft.entityframeworkcore/index.json
info : CACHE https://api.nuget.org/v3/registration5-gz-semver2/microsoft.entityframeworkcore/page/0.0.1-alpha/3.1.3.json
info : CACHE https://api.nuget.org/v3/registration5-gz-semver2/microsoft.entityframeworkcore/page/3.1.4/7.0.0-preview.2.22153.1.json
info : CACHE https://api.nuget.org/v3/registration5-gz-semver2/microsoft.entityframeworkcore/page/7.0.0-preview.3.22175.1/7.0.0-preview.3.22175.1.json
info : NotFound https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/516521bf-6417-457e-9a9c-0a4bdfde03e7/nuget/v3/registrations2-semver2/microsoft.entityframeworkcore/index.json 257ms
info : Restoring packages for C:\ToDo\ToDo.csproj...
info : Package 'Microsoft.EntityFrameworkCore' is compatible with all the specified frameworks in project 'C:\ToDo\ToDo.csproj'.
info : PackageReference for package 'Microsoft.EntityFrameworkCore' version '6.0.4' added to file 'C:\ToDo\ToDo.csproj'.
info : Writing assets file to disk. Path: C:\ToDo\obj\project.assets.json
log : Restored C:\ToDo\ToDo.csproj (in 171 ms).
O arquivo ToDo.csproj agora contém um <PackageReference> elemento para o pacote referenciado.
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />
Se o projeto estiver integrado ao Central Package Management (CPM), o <PackageVersion> elemento no Directory.Packages.props file será adicionado/atualizado e o <PackageReference> elemento será adicionado ao arquivo do projeto.
Os cenários a seguir são suportados atualmente. Estes exemplos pressupõem que a versão mais recente do Microsoft.EntityFrameworkCore é 6.0.4. Cenários adicionais relacionados ao CPM estão documentados nesta especificação de design.
Cenário 1: <PackageReference> não existe no arquivo de projeto, <PackageVersion> o elemento não existe no , e o Directory.Packages.props fileargumento version não é passado da linha de comando.
Comando da CLI que é executado: dotnet package add Microsoft.EntityFrameworkCore --project ToDo.csproj
O <PackageVersion> elemento é adicionado ao Directory.Packages.props file.
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />
O <PackageReference> elemento é adicionado ao arquivo de projeto.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
Cenário 2: <PackageReference> não existe no arquivo de projeto, <PackageVersion> o Directory.Packages.props fileelemento não existe no , e o argumento version é passado da linha de comando.
Comando da CLI que é executado: dotnet package add Microsoft.EntityFrameworkCore --version 5.0.4 --project ToDo.csproj
O <PackageVersion> elemento é adicionado ao Directory.Packages.props file.
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="5.0.4" />
O <PackageReference> elemento é adicionado ao arquivo de projeto.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
Cenário 3: <PackageReference> não existe no arquivo de projeto, <PackageVersion> o Directory.Packages.props fileelemento existe no , e o argumento version não é passado da linha de comando.
Comando da CLI que é executado: dotnet package add Microsoft.EntityFrameworkCore --project ToDo.csproj
O <PackageVersion> elemento é adicionado ao Directory.Packages.props file.
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />
O <PackageReference> elemento é adicionado ao arquivo de projeto.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
Cenário 4: <PackageReference> não existe no arquivo de projeto, <PackageVersion> o Directory.Packages.props fileelemento existe no , e o argumento version é passado da linha de comando.
Comando da CLI que é executado: dotnet package add Microsoft.EntityFrameworkCore --version 5.0.4 --project ToDo.csproj
O <PackageVersion> elemento é adicionado ao Directory.Packages.props file.
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="5.0.4" />
O <PackageReference> elemento é adicionado ao arquivo de projeto.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
Restauração implícita
Não é necessário executádotnet restore porque ele é executado implicitamente por todos os comandos que exigem uma restauração para ocorrer, como dotnet new, dotnet build, dotnet run, dotnet test, dotnet publishe dotnet pack. Para desativar a restauração implícita, use a opção --no-restore.
O comando dotnet restore ainda é útil em determinados cenários em que a restauração explícita faz sentido, como compilações de integração contínua no de Serviços de DevOps do Azure ou em sistemas de compilação que precisam controlar explicitamente quando a restauração ocorre.
Para obter informações sobre como gerenciar feeds NuGet, consulte a documentação dotnet restore.
Argumentos
PROJECTEspecifica o arquivo de projeto. Se não for especificado, o comando procura um no diretório atual.
PACKAGE_NAMEA referência do pacote a ser adicionada.
Opções
-f|--framework <FRAMEWORK>Adiciona uma referência de pacote somente ao direcionar uma estrutura específica.
-
-?|-h|--helpImprime uma descrição de como usar o comando.
-
--interactivePermite que o comando pare e aguarde a entrada ou ação do usuário. Por exemplo, para concluir a autenticação.
-n|--no-restoreAdiciona uma referência de pacote sem executar uma visualização de restauração e verificação de compatibilidade.
--package-directory <PACKAGE_DIRECTORY>O diretório onde restaurar os pacotes. O local de restauração do pacote padrão está
%userprofile%\.nuget\packagesno Windows e~/.nuget/packagesno macOS e Linux. Para obter mais informações, consulte Gerenciando os pacotes globais, cache e pastas temporárias no NuGet.--prereleasePermite a instalação de pacotes de pré-lançamento.
-s|--source <SOURCE>O URI da origem do pacote NuGet a ser usado durante a operação de restauração.
-v|--version <VERSION>Versão do pacote. Consulte Controle de versão do pacote NuGet.
Exemplos
Adicionar
Microsoft.EntityFrameworkCorepacote NuGet a um projeto:dotnet package add Microsoft.EntityFrameworkCoreAdicione uma versão específica de um pacote a um projeto:
dotnet package add Microsoft.Azure.DocumentDB.Core -v 1.0.0 --project ToDo.csprojAdicione um pacote usando uma fonte NuGet específica:
dotnet package add Microsoft.AspNetCore.StaticFiles -s https://dotnet.myget.org/F/dotnet-core/api/v3/index.json