dotnet add package

Dit artikel is van toepassing op: ✔️ .NET Core 3.1 SDK en latere versies

Naam

dotnet add package - Voegt een pakketverwijzing toe of werkt deze bij in een projectbestand.

Synopsis

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

Beschrijving

De dotnet add package opdracht biedt een handige optie voor het toevoegen of bijwerken van een pakketreferentie in een projectbestand. Wanneer u de opdracht uitvoert, wordt er een compatibiliteitscontrole uitgevoerd om ervoor te zorgen dat het pakket compatibel is met de frameworks in het project. Als de controle is geslaagd en er niet naar het pakket wordt verwezen in het projectbestand, wordt er een <PackageReference> -element toegevoegd aan het projectbestand. Als de controle is geslaagd en er al naar het pakket wordt verwezen in het projectbestand, wordt het <PackageReference> element bijgewerkt naar de meest recente compatibele versie. Nadat het projectbestand is bijgewerkt, wordt dotnet-herstel uitgevoerd.

Als u bijvoorbeeld toevoegt Microsoft.EntityFrameworkCore aan ToDo.csproj , wordt uitvoer geproduceerd die vergelijkbaar is met het volgende voorbeeld:

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

Het bestand ToDo.csproj bevat nu een <PackageReference> -element voor het pakket waarnaar wordt verwezen.

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

Impliciet herstellen

U hoeft niet uit te voeren dotnet restore omdat deze impliciet wordt uitgevoerd door alle opdrachten waarvoor herstel moet worden uitgevoerd, zoals dotnet new, dotnet build, , dotnet rundotnet test, dotnet publishen dotnet pack. Gebruik de --no-restore optie om impliciet herstel uit te schakelen.

De dotnet restore opdracht is nog steeds nuttig in bepaalde scenario's waarin expliciet herstellen zinvol is, zoals builds voor continue integratie in Azure DevOps Services of in buildsystemen die expliciet moeten bepalen wanneer het herstel plaatsvindt.

Zie de documentatie voor informatie over het dotnet restorebeheren van NuGet-feeds.

Argumenten

  • PROJECT

    Hiermee geeft u het projectbestand op. Als dit niet is opgegeven, zoekt de opdracht in de huidige map naar een.

  • PACKAGE_NAME

    De pakketreferentie die u wilt toevoegen.

Opties

  • -f|--framework <FRAMEWORK>

    Voegt alleen een pakketreferentie toe wanneer deze is gericht op een specifiek framework.

  • -?|-h|--help

    Hiermee wordt een beschrijving weergegeven van het gebruik van de opdracht.

  • --interactive

    Hiermee staat u toe dat de opdracht stopt en wacht op invoer of actie van de gebruiker. Bijvoorbeeld om de verificatie te voltooien.

  • -n|--no-restore

    Voegt een pakketverwijzing toe zonder een herstelvoorbeeld en compatibiliteitscontrole uit te voeren.

  • --package-directory <PACKAGE_DIRECTORY>

    De map waar de pakketten moeten worden hersteld. De standaardlocatie voor pakketherstel is %userprofile%\.nuget\packages in Windows en ~/.nuget/packages in macOS en Linux. Zie De globale pakketten, cache en tijdelijke mappen beheren in NuGet voor meer informatie.

  • --prerelease

    Hiermee kunnen prereleasepakketten worden geïnstalleerd. Beschikbaar sinds .NET Core 5 SDK

  • -s|--source <SOURCE>

    De URI van de NuGet-pakketbron die moet worden gebruikt tijdens de herstelbewerking.

  • -v|--version <VERSION>

    Versie van het pakket. Zie Versiebeheer voor NuGet-pakketten.

Voorbeelden

  • NuGet-pakket toevoegen Microsoft.EntityFrameworkCore aan een project:

    dotnet add package Microsoft.EntityFrameworkCore
    
  • Een specifieke versie van een pakket toevoegen aan een project:

    dotnet add ToDo.csproj package Microsoft.Azure.DocumentDB.Core -v 1.0.0
    
  • Voeg een pakket toe met behulp van een specifieke NuGet-bron:

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

Zie ook