dotnet add package

Tento článek se týká: ✔️ .NET Core 3.1 SDK a novějších verzí

Name

dotnet add package – Přidá nebo aktualizuje odkaz na balíček v souboru projektu.

Synopse

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

Příkaz dotnet add package poskytuje pohodlnou možnost přidat nebo aktualizovat odkaz na balíček v souboru projektu. Při spuštění příkazu se provádí kontrola kompatibility, která zajistí, že je balíček kompatibilní s architekturami v projektu. Pokud kontrola projde a na balíček se v souboru projektu neodkazuje, <PackageReference> přidá se do souboru projektu prvek. Pokud kontrola projde a balíček je již odkazován v souboru projektu, <PackageReference> element se aktualizuje na nejnovější kompatibilní verzi. Po aktualizaci souboru projektu se spustí obnovení dotnet .

Například přidání Microsoft.EntityFrameworkCore do ToDo.csproj vytvoří výstup podobný následujícímu příkladu:

  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).

Soubor ToDo.csproj nyní obsahuje <PackageReference> prvek pro odkazovaný balíček.

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />

Implicitní obnovení

Nemusíte spouštět dotnet restore , protože se spouští implicitně všemi příkazy, které vyžadují obnovení, například dotnet new, dotnet build, dotnet run, dotnet test, dotnet publisha dotnet pack. Pokud chcete zakázat implicitní obnovení, použijte možnost --no-restore .

Příkaz dotnet restore je stále užitečný v určitých scénářích, kde explicitní obnovení dává smysl, například sestavení s kontinuální integrací v Azure DevOps Services nebo v systémech sestavení, které potřebují explicitně řídit, kdy k obnovení dojde.

Informace o správě informačních kanálů NuGet najdete v dotnet restore dokumentaci.

Argumenty

  • PROJECT

    Určuje soubor projektu. Pokud ho nezadáte, příkaz ho vyhledá v aktuálním adresáři.

  • PACKAGE_NAME

    Odkaz na balíček, který chcete přidat.

Možnosti

  • -f|--framework <FRAMEWORK>

    Přidá odkaz na balíček pouze při cílení na konkrétní architekturu.

  • -?|-h|--help

    Vytiskne popis použití příkazu.

  • --interactive

    Umožňuje příkaz zastavit a čekat na vstup nebo akci uživatele. Například k dokončení ověřování.

  • -n|--no-restore

    Přidá odkaz na balíček bez provedení náhledu obnovení a kontroly kompatibility.

  • --package-directory <PACKAGE_DIRECTORY>

    Adresář, ve kterém se mají balíčky obnovit. Výchozí umístění pro obnovení balíčku je %userprofile%\.nuget\packages ve Windows a ~/.nuget/packages v systémech macOS a Linux. Další informace najdete v tématu Správa globálních balíčků, mezipaměti a dočasných složek v NuGetu.

  • --prerelease

    Umožňuje instalaci předběžných verzí balíčků. K dispozici od .NET Core 5 SDK

  • -s|--source <SOURCE>

    Identifikátor URI zdroje balíčku NuGet, který se má použít během operace obnovení.

  • -v|--version <VERSION>

    Verze balíčku. Viz Správa verzí balíčků NuGet.

Příklady

  • Přidání Microsoft.EntityFrameworkCore balíčku NuGet do projektu:

    dotnet add package Microsoft.EntityFrameworkCore
    
  • Přidání konkrétní verze balíčku do projektu:

    dotnet add ToDo.csproj package Microsoft.Azure.DocumentDB.Core -v 1.0.0
    
  • Přidejte balíček pomocí konkrétního zdroje NuGet:

    dotnet add package Microsoft.AspNetCore.StaticFiles -s https://dotnet.myget.org/F/dotnet-core/api/v3/index.json
    

Viz také