Polecenie dotnet add package 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:
Console
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.
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.
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.
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.
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.
Nie trzeba uruchamiaćdotnet restore, ponieważ jest ona uruchamiana niejawnie przez wszystkie polecenia, które wymagają przywrócenia, takie jak dotnet new, , dotnet build, dotnet rundotnet test, , dotnet publish, i dotnet pack. Aby wyłączyć niejawne przywracanie, użyj --no-restore opcji .
Polecenie dotnet restore jest nadal przydatne w niektórych scenariuszach, w których jawne przywracanie ma sens, takie jak kompilacje ciągłej integracji w usługach Azure DevOps Services lub w systemach kompilacji, które muszą jawnie kontrolować, kiedy nastąpi przywracanie.
Aby uzyskać informacje na temat zarządzania kanałami informacyjnymi NuGet, zobacz dokumentacjędotnet restore.
Argumenty
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.
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię:
Dołącz do serii meetup, aby tworzyć skalowalne rozwiązania sztucznej inteligencji oparte na rzeczywistych przypadkach użycia z innymi deweloperami i ekspertami.