Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł dotyczy: ✔️ zestaw .NET Core 3.1 SDK i nowsze wersje
Nazwa
dotnet package add
— Dodaje lub aktualizuje odwołanie do pakietu w pliku projektu.
Uwaga
Jeśli używasz zestawu .NET 9 SDK lub starszego, zamiast tego użyj formularza "czasownik pierwszy" (dotnet add package
). W programie .NET 10 wprowadzono formę "pierwszej ciołki". Aby uzyskać więcej informacji, zobacz Bardziej spójne kolejność poleceń.
Streszczenie
dotnet package add <PACKAGE_NAME>
[-f|--framework <FRAMEWORK>] [--interactive] [--project <PROJECT>]
[-n|--no-restore] [--package-directory <PACKAGE_DIRECTORY>]
[--prerelease] [-s|--source <SOURCE>] [-v|--version <VERSION>]
dotnet package add -h|--help
Opis
Polecenie dotnet package add
zapewnia wygodną opcję dodawania lub aktualizowania odwołania do pakietu w pliku projektu. Po uruchomieniu polecenia jest sprawdzana zgodność, aby upewnić się, że pakiet jest zgodny ze strukturami w projekcie. Jeśli sprawdzanie przebiegnie pomyślnie, a pakiet nie jest przywoływany w pliku projektu, <PackageReference>
element zostanie dodany do pliku projektu. Jeśli sprawdzanie zakończy się pomyślnie, a pakiet jest już przywołyany w pliku projektu, <PackageReference>
element zostanie zaktualizowany do najnowszej zgodnej wersji. Po zaktualizowaniu pliku projektu zostanie uruchomione przywracanie dotnet .
Na przykład dodanie Microsoft.EntityFrameworkCore
do pliku ToDo.csproj generuje dane wyjściowe podobne do następującego przykładu:
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).
Plik ToDo.csproj zawiera <PackageReference>
teraz element dla przywołytowanego pakietu.
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />
Jeśli projekt jest dołączany do centralnego zarządzania pakietami (CPM),<PackageVersion>
element w Directory.Packages.props file
pliku zostanie dodany/zaktualizowany, a <PackageReference>
element zostanie dodany do pliku projektu.
Obecnie obsługiwane są następujące scenariusze. W tych przykładach przyjęto założenie, że najnowsza wersja programu Microsoft.EntityFrameworkCore
to 6.0.4. Dodatkowe scenariusze związane z cpm są udokumentowane w tej specyfikacji projektu.
Scenariusz 1: <PackageReference>
nie istnieje w pliku projektu, <PackageVersion>
element nie istnieje w elememencie Directory.Packages.props file
, a argument wersji nie jest przekazywany z wiersza polecenia.
Wykonywane polecenie interfejsu wiersza polecenia: dotnet package add Microsoft.EntityFrameworkCore --project ToDo.csproj
Element <PackageVersion>
jest dodawany do elementu Directory.Packages.props file
.
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />
Element <PackageReference>
jest dodawany do pliku projektu.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
Scenariusz 2: <PackageReference>
nie istnieje w pliku projektu, <PackageVersion>
element nie istnieje w elememencie Directory.Packages.props file
, a argument wersji jest przekazywany z wiersza polecenia.
Wykonywane polecenie interfejsu wiersza polecenia: dotnet package add Microsoft.EntityFrameworkCore --version 5.0.4 --project ToDo.csproj
Element <PackageVersion>
jest dodawany do elementu Directory.Packages.props file
.
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="5.0.4" />
Element <PackageReference>
jest dodawany do pliku projektu.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
Scenariusz 3: <PackageReference>
nie istnieje w pliku projektu, <PackageVersion>
element istnieje w elememencie Directory.Packages.props file
, a argument wersji nie jest przekazywany z wiersza polecenia.
Wykonywane polecenie interfejsu wiersza polecenia: dotnet package add Microsoft.EntityFrameworkCore --project ToDo.csproj
Element <PackageVersion>
jest dodawany do elementu Directory.Packages.props file
.
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="6.0.4" />
Element <PackageReference>
jest dodawany do pliku projektu.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
Scenariusz 4: <PackageReference>
nie istnieje w pliku projektu, <PackageVersion>
element istnieje w elememencie Directory.Packages.props file
, a argument wersji jest przekazywany z wiersza polecenia.
Wykonywane polecenie interfejsu wiersza polecenia: dotnet package add Microsoft.EntityFrameworkCore --version 5.0.4 --project ToDo.csproj
Element <PackageVersion>
jest dodawany do elementu Directory.Packages.props file
.
<PackageVersion Include="Microsoft.EntityFrameworkCore" Version="5.0.4" />
Element <PackageReference>
jest dodawany do pliku projektu.
<PackageReference Include="Microsoft.EntityFrameworkCore" />
Niejawne przywracanie
Nie musisz uruchamiać dotnet restore
, ponieważ jest ona uruchamiana niejawnie przez wszystkie polecenia, które wymagają przywrócenia, takie jak dotnet new
, dotnet build
, dotnet run
, dotnet test
, dotnet publish
i dotnet pack
. Aby wyłączyć niejawne przywracanie, użyj opcji --no-restore
.
Polecenie dotnet restore
jest nadal przydatne w niektórych scenariuszach, w których jawne przywracanie pakietów ma sens, takie jak w budowaniu ciągłej integracji w środowisku Azure DevOps Services lub w systemach kompilacji, które muszą jawnie kontrolować, kiedy następuje przywracanie pakietów.
Aby uzyskać informacje na temat zarządzania kanałami informacyjnymi NuGet, zobacz dokumentację dotnet restore
.
Argumenty (w programowaniu)
PROJECT
Określa plik projektu. Jeśli nie zostanie określony, polecenie przeszukuje bieżący katalog dla jednego.
PACKAGE_NAME
Odwołanie do pakietu do dodania.
Opcje
-f|--framework <FRAMEWORK>
Dodaje odwołanie do pakietu tylko wtedy, gdy jest przeznaczona dla określonej platformy.
-?|-h|--help
Wyświetla opis sposobu używania polecenia .
--interactive
Umożliwia zatrzymanie polecenia i oczekiwanie na wprowadzenie lub działanie użytkownika. Na przykład w celu ukończenia uwierzytelniania.
-n|--no-restore
Dodaje odwołanie do pakietu bez przeprowadzania podglądu przywracania i sprawdzania zgodności.
--package-directory <PACKAGE_DIRECTORY>
Katalog, w którym można przywrócić pakiety. Domyślna lokalizacja przywracania pakietu znajduje się
%userprofile%\.nuget\packages
w systemach Windows i~/.nuget/packages
macOS i Linux. Aby uzyskać więcej informacji, zobacz Zarządzanie globalnymi pakietami, pamięcią podręczną i folderami tymczasowymi w programie NuGet.--prerelease
Umożliwia zainstalowanie pakietów wstępnych. Dostępne od zestawu .NET Core 5 SDK
-s|--source <SOURCE>
Identyfikator URI źródła pakietu NuGet do użycia podczas operacji przywracania.
-v|--version <VERSION>
Wersja pakietu. Zobacz Przechowywanie wersji pakietów NuGet.
Przykłady
Dodaj
Microsoft.EntityFrameworkCore
pakiet NuGet do projektu:dotnet package add Microsoft.EntityFrameworkCore
Dodaj określoną wersję pakietu do projektu:
dotnet package add Microsoft.Azure.DocumentDB.Core -v 1.0.0 --project ToDo.csproj
Dodaj pakiet przy użyciu określonego źródła NuGet:
dotnet package add Microsoft.AspNetCore.StaticFiles -s https://dotnet.myget.org/F/dotnet-core/api/v3/index.json