dotnet add packagedotnet add package

Эта статья применима к: ✓ пакету SDK для .NET Core 1.x пакету SDK для .NET Core 2.xThis topic applies to: ✓ .NET Core SDK 1.x .NET Core SDK 2.x

nameName

dotnet add package — добавляет ссылку на пакет в файл проекта.dotnet add package - Adds a package reference to a project file.

Краткий обзорSynopsis

dotnet add [<PROJECT>] package <PACKAGE_NAME> [-h|--help] [-f|--framework] [--interactive] [-n|--no-restore] [--package-directory] [-s|--source] [-v|--version]

ОписаниеDescription

Команда dotnet add package предоставляет удобный способ для добавления ссылки на пакет в файл проекта.The dotnet add package command provides a convenient option to add a package reference to a project file. После запуска этой команды выполняется проверка совместимости, чтобы убедиться, что пакет совместим со всеми платформами в проекте.After running the command, there's a compatibility check to ensure the package is compatible with the frameworks in the project. Если проверка проходит успешно, в файл проекта добавляется элемент <PackageReference> и выполняется команда dotnet restore.If the check passes, a <PackageReference> element is added to the project file and dotnet restore is run.

Примечание

Начиная с пакета SDK для .NET Core 2.0 нет необходимости выполнять команду dotnet restore, так как она выполняется неявно всеми командами, которые требуют восстановления, например dotnet new, dotnet build и dotnet run.Starting with .NET Core 2.0 SDK, you don't have to run dotnet restore because it's run implicitly by all commands that require a restore to occur, such as dotnet new, dotnet build and dotnet run. Эту команду по-прежнему можно использовать в некоторых сценариях, где необходимо явное восстановление, например в сборках с использованием непрерывной интеграции в Azure DevOps Services или системах сборки, где требуется явно контролировать время восстановления.It's still a valid command in certain scenarios where doing an explicit restore makes sense, such as continuous integration builds in Azure DevOps Services or in build systems that need to explicitly control the time at which the restore occurs.

Например, при добавлении Newtonsoft.Json в ToDo.csproj создаются выходные данные примерно следующего вида:For example, adding Newtonsoft.Json to ToDo.csproj produces output similar to the following example:

  Writing C:\Users\mairaw\AppData\Local\Temp\tmp95A8.tmp
info : Adding PackageReference for package 'Newtonsoft.Json' into project 'C:\projects\ToDo\ToDo.csproj'.
log  : Restoring packages for C:\Temp\projects\consoleproj\consoleproj.csproj...
info :   GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/index.json
info :   OK https://api.nuget.org/v3-flatcontainer/newtonsoft.json/index.json 79ms
info :   GET https://api.nuget.org/v3-flatcontainer/newtonsoft.json/12.0.1/newtonsoft.json.12.0.1.nupkg
info :   OK https://api.nuget.org/v3-flatcontainer/newtonsoft.json/12.0.1/newtonsoft.json.12.0.1.nupkg 232ms
log  : Installing Newtonsoft.Json 12.0.1.
info : Package 'Newtonsoft.Json' is compatible with all the specified frameworks in project 'C:\projects\ToDo\ToDo.csproj'.
info : PackageReference for package 'Newtonsoft.Json' version '12.0.1' added to file 'C:\projects\ToDo\ToDo.csproj'.

Файл ToDo.csproj теперь содержит элемент <PackageReference> для пакета, на который указывает ссылка.The ToDo.csproj file now contains a <PackageReference> element for the referenced package.

<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />

АргументыArguments

  • PROJECT

    Указывает файл проекта.Specifies the project file. Если он не указан, команда ищет текущий каталог для него.If not specified, the command searches the current directory for one.

  • PACKAGE_NAME

    Добавляемая ссылка на пакет.The package reference to add.

ПараметрыOptions

  • -f|--framework <FRAMEWORK>

    Добавляет ссылку на пакет только при ориентации на конкретную платформу.Adds a package reference only when targeting a specific framework.

  • -h|--help

    Выводит краткую справку по команде.Prints out a short help for the command.

  • --interactive

    Позволяет остановить команду и дождаться, пока пользователь введет данные или выполнит действие (например, завершит проверку подлинности).Allows the command to stop and wait for user input or action (for example to complete authentication). Доступно с версии пакета SDK 2.1 для .NET Core версии 2.1.400 или более поздней версии.Available since .NET Core 2.1 SDK, version 2.1.400 or later.

  • -n|--no-restore

    Добавляет ссылку на пакет без предварительного просмотра восстановления и проверки совместимости.Adds a package reference without performing a restore preview and compatibility check.

  • --package-directory <PACKAGE_DIRECTORY>

    Восстанавливает пакет в указанный каталог.Restores the package to the specified directory.

  • -s|--source <SOURCE>

    Указывает конкретный источник пакета NuGet во время операции восстановления.Uses a specific NuGet package source during the restore operation.

  • -v|--version <VERSION>

    Версия пакета.Version of the package.

ПримерыExamples

  • Добавление пакета NuGet Newtonsoft.Json в проект:Add Newtonsoft.Json NuGet package to a project:

    dotnet add package Newtonsoft.Json
    
  • Добавление определенной версии пакета в проект:Add a specific version of a package to a project:

    dotnet add ToDo.csproj package Microsoft.Azure.DocumentDB.Core -v 1.0.0
    
  • Добавление пакета с помощью определенного источника NuGet:Add a package using a specific NuGet source:

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