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 run
dotnet test
, dotnet publish
en 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 restore
beheren 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