dotnet add packagedotnet add package

本文内容

本文适用于:✓ .NET Core 1.x SDK 及更高版本

nameName

dotnet add package - 向项目文件添加包引用。

摘要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 命令可方便地向项目文件添加包引用。运行该命令后,还有一个兼容性检查,确保包与项目中的框架兼容。如果通过了该检查,则将 <PackageReference> 元素添加到项目文件并运行 dotnet 还原

备注

从 .NET Core 2.0 SDK 开始,无需运行 dotnet restore,因为它由所有需要还原的命令隐式运行,如 dotnet newdotnet builddotnet run在执行显式还原有意义的某些情况下,例如 Azure DevOps Services 中的持续集成生成中,或在需要显式控制还原发生时间的生成系统中,它仍然是有效的命令。

例如,将 Newtonsoft.Json 添加到 ToDo.csproj 后的输出如以下示例所示:

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

ToDo.csproj 文件现包含用于引用的包的 <PackageReference> 元素。

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

自变量Arguments

  • PROJECT

指定项目文件。如果未指定,此命令会搜索当前目录来获取一个项目文件。

  • PACKAGE_NAME

要添加的包引用。

选项Options

  • -f|—framework <FRAMEWORK>

仅在以特定框架为目标时添加包引用。

  • -h|—help

打印出有关命令的简短帮助。

  • —interactive

允许命令停止并等待用户输入或操作(例如,完成身份验证)。从 .NET Core 2.1 SDK,版本 2.1.400 或更高版本开始可用。

  • -n|—no-restore

在不执行还原预览和兼容性检查的情况下添加包引用。

  • —package-directory <PACKAGE_DIRECTORY>

要在其中还原包的目录。Windows 上的默认包还原位置为 %userprofile%.nuget\packages,macOS 和 Linux 上的默认包还原位置为 ~/.nuget/packages。有关详细信息,请参阅在 NuGet 中管理全局包、缓存和临时文件夹

  • -s|—source <SOURCE>

要在还原操作期间使用的 NuGet 包源。

  • -v|—version <VERSION>

包的版本。请参阅 NuGet 包版本控制

示例Examples

  • Newtonsoft.Json NuGet 包添加到项目:
  1. dotnet add package Newtonsoft.Json
  • 向项目添加特定版本的包:
  1. dotnet add ToDo.csproj package Microsoft.Azure.DocumentDB.Core -v 1.0.0
  • 使用特定的 NuGet 源添加包:
  1. dotnet add package Microsoft.AspNetCore.StaticFiles -s https://dotnet.myget.org/F/dotnet-core/api/v3/index.json

请参阅See also