dotnet adicionar pacote
Este artigo aplica-se a: ✔️ SDK .NET Core 3.1 e versões posteriores
Name
dotnet add package
- Adiciona ou atualiza uma referência de pacote num ficheiro de projeto.
Sinopse
dotnet add [<PROJECT>] package <PACKAGE_NAME>
[-f|--framework <FRAMEWORK>] [--interactive]
[-n|--no-restore] [--package-directory <PACKAGE_DIRECTORY>]
[--prerelease] [-s|--source <SOURCE>] [-v|--version <VERSION>]
dotnet add package -h|--help
Description
O dotnet add package
comando fornece uma opção conveniente para adicionar ou atualizar uma referência de pacote num ficheiro de projeto. Quando executa o comando, existe uma verificação de compatibilidade para garantir que o pacote é compatível com as arquiteturas no projeto. Se a verificação for aprovada e o pacote não for referenciado no ficheiro do projeto, é adicionado um <PackageReference>
elemento ao ficheiro de projeto. Se a verificação for aprovada e o pacote já estiver referenciado no ficheiro do projeto, o <PackageReference>
elemento será atualizado para a versão compatível mais recente. Após a atualização do ficheiro de projeto, o restauro do dotnet é executado.
Por exemplo, adicionar Microsoft.EntityFrameworkCore
a ToDo.csproj produz um resultado semelhante ao seguinte exemplo:
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 ficheiro ToDo.csproj contém agora um <PackageReference>
elemento para o pacote referenciado.
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />
Restauro implícito
Não tem de executar dotnet restore
porque é executado implicitamente por todos os comandos que necessitam de um restauro, como dotnet new
, , dotnet run
dotnet build
, , dotnet test
e dotnet publish
dotnet pack
. Para desativar o restauro implícito, utilize a opção --no-restore
.
O dotnet restore
comando ainda é útil em determinados cenários em que o restauro explícito faz sentido, como compilações de integração contínua nos Serviços do Azure DevOps ou em sistemas de compilação que precisam de controlar explicitamente quando ocorre o restauro.
Para obter informações sobre como gerir feeds NuGet, veja a dotnet restore
documentação.
Argumentos
PROJECT
Especifica o ficheiro de projeto. Se não for especificado, o comando procura um no diretório atual.
PACKAGE_NAME
A referência do pacote a adicionar.
Opções
-f|--framework <FRAMEWORK>
Adiciona uma referência de pacote apenas ao filtrar uma arquitetura específica.
-?|-h|--help
Imprime uma descrição de como utilizar o comando .
--interactive
Permite que o comando pare e aguarde pela entrada ou ação do utilizador. Por exemplo, para concluir a autenticação.
-n|--no-restore
Adiciona uma referência de pacote sem efetuar uma verificação de pré-visualização e compatibilidade de restauro.
--package-directory <PACKAGE_DIRECTORY>
O diretório onde restaurar os pacotes. A localização de restauro do pacote predefinida é
%userprofile%\.nuget\packages
no Windows e~/.nuget/packages
no macOS e Linux. Para obter mais informações, veja Managing the global packages, cache, and temp folders in NuGet (Gerir os pacotes globais, a cache e as pastas temporárias no NuGet).--prerelease
Permite a instalação de pacotes de pré-lançamento. Disponível desde o SDK .NET Core 5
-s|--source <SOURCE>
O URI da origem do pacote NuGet a utilizar durante a operação de restauro.
-v|--version <VERSION>
Versão do pacote. Veja Controlo de versões do pacote NuGet.
Exemplos
Adicione
Microsoft.EntityFrameworkCore
o pacote NuGet a um projeto:dotnet add package Microsoft.EntityFrameworkCore
Adicione uma versão específica de um pacote a um projeto:
dotnet add ToDo.csproj package Microsoft.Azure.DocumentDB.Core -v 1.0.0
Adicione um pacote com uma origem NuGet específica:
dotnet add package Microsoft.AspNetCore.StaticFiles -s https://dotnet.myget.org/F/dotnet-core/api/v3/index.json