dotnet-tilläggspaket

Den här artikeln gäller för: ✔️ .NET Core 3.1 SDK och senare versioner

Name

dotnet add package – Lägger till eller uppdaterar en paketreferens i en projektfil.

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

Description

Kommandot dotnet add package är ett praktiskt alternativ för att lägga till eller uppdatera en paketreferens i en projektfil. När du kör kommandot finns det en kompatibilitetskontroll för att säkerställa att paketet är kompatibelt med ramverken i projektet. Om kontrollen godkänns och paketet inte refereras till i projektfilen läggs ett <PackageReference> element till i projektfilen. Om kontrollen godkänns och paketet redan refereras till i projektfilen uppdateras elementet <PackageReference> till den senaste kompatibla versionen. När projektfilen har uppdaterats körs dotnet-återställningen .

Om du till exempel lägger Microsoft.EntityFrameworkCore till i ToDo.csproj genereras utdata som liknar följande exempel:

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

Filen ToDo.csproj innehåller nu ett <PackageReference> element för det refererade paketet.

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

Implicit återställning

Du behöver inte köra dotnet restore eftersom den körs implicit av alla kommandon som kräver en återställning, till exempel dotnet new, dotnet build, dotnet run, dotnet test, dotnet publishoch dotnet pack. Om du vill inaktivera implicit återställning använder du alternativet --no-restore .

Kommandot dotnet restore är fortfarande användbart i vissa scenarier där det är meningsfullt att uttryckligen återställa, till exempel kontinuerliga integrationsversioner i Azure DevOps Services eller i byggsystem som uttryckligen behöver styra när återställningen sker.

Information om hur du hanterar NuGet-feeds finns i dokumentationendotnet restore.

Argument

  • PROJECT

    Anger projektfilen. Om inget anges söker kommandot i den aktuella katalogen efter en.

  • PACKAGE_NAME

    Paketreferensen som ska läggas till.

Alternativ

  • -f|--framework <FRAMEWORK>

    Lägger bara till en paketreferens när du riktar in dig på ett specifikt ramverk.

  • -?|-h|--help

    Skriver ut en beskrivning av hur du använder kommandot.

  • --interactive

    Tillåter att kommandot stoppar och väntar på användarindata eller åtgärd. Till exempel för att slutföra autentiseringen.

  • -n|--no-restore

    Lägger till en paketreferens utan att utföra en återställningsförhandsgranskning och kompatibilitetskontroll.

  • --package-directory <PACKAGE_DIRECTORY>

    Katalogen där paketen ska återställas. Standardplatsen för paketåterställning finns %userprofile%\.nuget\packages i Windows och ~/.nuget/packages i macOS och Linux. Mer information finns i Hantera globala paket, cache och temporära mappar i NuGet.

  • --prerelease

    Tillåter att förhandsversionspaket installeras. Tillgängligt sedan .NET Core 5 SDK

  • -s|--source <SOURCE>

    URI:n för NuGet-paketkällan som ska användas under återställningsåtgärden.

  • -v|--version <VERSION>

    Version av paketet. Se Versionshantering av NuGet-paket.

Exempel

  • Lägg till Microsoft.EntityFrameworkCore NuGet-paket i ett projekt:

    dotnet add package Microsoft.EntityFrameworkCore
    
  • Lägg till en specifik version av ett paket i ett projekt:

    dotnet add ToDo.csproj package Microsoft.Azure.DocumentDB.Core -v 1.0.0
    
  • Lägg till ett paket med en specifik NuGet-källa:

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

Se även