通过


使用 NuGet 程序包管理器在 Visual Studio 中安装和管理包

可以使用 Microsoft Visual Studio 中的 NuGet 程序包管理器 UI 在项目和解决方案中轻松安装、卸载和更新 NuGet 包。

先决条件

  • Visual Studio 2026,其中包含任何与.NET相关的工作负荷。 可以从 visualstudio.microsoft.com 免费安装 2026 Community 版本,也可以使用专业版或企业版。

  • NuGet 程序包管理器。 安装与.NET相关的工作负荷时,Visual Studio 2017 及更高版本会自动包含 NuGet 程序包管理器。 若要在 Visual Studio Installer 中手动安装 NuGet 程序包管理器,请选择 Individual 组件>Code 工具>NuGet package manager

查找并安装包

若要使用 Visual Studio 查找并安装 NuGet 包,请执行以下步骤:

  1. 解决方案资源管理器 中加载项目,然后选择 项目>管理 NuGet 包

    NuGet 程序包管理器 窗口随即打开。

  2. 转到 “浏览 ”选项卡,按当前所选源的受欢迎程度显示包。 有关源的信息,请参阅 包源

    • 若要搜索特定包,请使用选项卡左上角的搜索框。
    • 每个包 ID 旁边可能会显示缩写信息,以帮助识别正确的包。 此信息因所选包源而异。 示例包括包下载次数、作者或到所有者配置文件的链接。

    注意

    在 Visual Studio 17.11 及更高版本中,当所选包源支持时,包作者显示为个人资料链接。 包所有权由包源定义。 有关详细信息,请参阅 管理 nuget.org 上的包所有者

    在 Visual Studio 17.10 及更早版本中,将显示包author元数据,显示为纯文本。 有关详细信息,请参阅 作者包元数据

    • 选择包以打开其详细信息窗格。 在详细信息窗格中,“ 包详细信息 ”选项卡显示包元数据、有关所有者、作者和许可证的信息以及其他信息。 详细信息窗格还提供了一种方法,用于选择要安装的版本。

      NuGet 包管理器的截图。在“浏览”选项卡中,选中了一个包。详细信息窗格的“包详细信息”选项卡列出了包的详细数据。

      详细信息窗格的 README 选项卡会显示软件包的自述文件(如果由包作者提供)。

       NuGet 包管理器的屏幕截图。在“浏览”选项卡中选择了一个包。在其详细信息窗格的自述文件选项卡中说明了该包的信息。

  3. 在“详细信息”窗格中的 “版本”旁边,选择一个版本。 如果要在 Version 列表中包括预发行版版本,请转到 NuGet 程序包管理器 窗口顶部。 在搜索框旁边,选择“ 包括预发行版”。

  4. 若要安装 NuGet 包,请选择 安装。 系统可能会提示你接受许可条款或验证安装。

    Visual Studio在项目中安装包及其依赖项。 安装完成后,添加的包将显示在 NuGet 程序包管理器 Installed 选项卡上。还可以在项目的 Dependencies> 节点中找到包解决方案资源管理器。 安装包后,可以使用 using 语句在项目中引用它。

设置包管理格式

NuGet 有两种格式,项目可以使用这些包:

只有某些类型的项目支持这两种包管理格式。 具体而言,具有 .csproj 文件格式的非 SDK 样式.NET框架项目支持这两种格式。 对于.NET SDK 样式项目,需要 PackageReference

建议的格式为 PackageReference。 但某些 NuGet 包不完全兼容 PackageReference。 有关详细信息,请参阅 包兼容性问题

有关包管理格式的详细信息,请参阅从 packages.config 到 PackageReference项目类型支持

若要设置默认格式,请执行以下步骤:

  1. 在 Visual Studio 中,选择 Tools>Options
  2. 在侧窗格中,选择NuGet 程序包管理器,然后选择General
  3. 在主窗口中的 “包管理”下,选择 默认包管理格式列表中的格式

有关配置此设置的详细信息,请参阅 “选择默认包管理格式”。

卸载软件包

若要卸载 NuGet 包,请执行以下步骤:

  1. 解决方案资源管理器 中加载project,选择 Project>Manage NuGet 包,然后转到 Installed 选项卡。

  2. 在主窗格中,选择要卸载的包。 如果需要,请使用搜索框查找包。 然后在包详细信息窗格中,选择“ 卸载”。

     NuGet 包管理器的截图。在主窗格中,选择了一个包。在详细信息窗格中,高亮显示了“卸载”按钮。

更新一个包

若要更新 NuGet 包,请执行以下步骤:

  1. 解决方案资源管理器 中加载项目,然后选择 项目>管理 NuGet 包。 对于通过 bin 文件夹管理依赖项的旧 ASP.NET 网站项目,请转到 解决方案资源管理器并在打开 NuGet 程序包管理器 UI 之前选择 bin 文件夹。

  2. 选择“ 更新 ”选项卡,列出从 包源旁选择的源中具有可用更新的包。 若要在更新列表中包括预发行版包,请转到 NuGet 程序包管理器 窗口顶部。 在搜索框旁边,选择“ 包括预发行版”。

  3. 选择要更新的包。 在详细信息窗格中,在 “版本”旁边,选择所需的版本,然后选择“ 更新”。

     NuGet 包管理器的屏幕截图。在主窗格中,选中了一个包。在其详细信息窗格中,突出显示了版本和更新按钮。

更新隐式引用的包

对于某些包, “更新 ”按钮不可用,并显示以下消息:“SDK 隐式引用。 若要更新包,请更新其所属的 SDK。

此消息指示包是较大框架或 SDK 的一部分,无法独立更新。 例如,当 SDK 样式项目面向 .NET Framework 时,会自动添加 Microsoft.NETFramework.ReferenceAssemblies

在 NuGet 包管理器的包详细信息窗格中的截图。“更新”按钮显示为灰色。有关隐式引用的消息可见。

此类包在内部标记为 <IsImplicitlyDefined>True</IsImplicitlyDefined>。 这些包使用 SDK 或运行时进行版本控制,必须通过安装较新的 .NET SDK(而不是使用 NuGet 程序包管理器)进行更新。

若要下载新版本的框架,请参阅 Download .NET。 有关详细信息,请参阅 .NET 应用程序发布概述

更新多个软件包

若要将多个包更新到其最新版本,请在 NuGet 包列表中选择这些包,然后选择“ 更新”。

从“安装”选项卡中进行更新

还可以从 “已安装 ”选项卡更新单个包。在这种情况下,还可以选择版本和 Include 预发行版 选项。

管理解决方案的软件包

管理解决方案的包是同时处理多个项目的便捷方式。

  1. Solution Manager 中选择解决方案, 然后选择 Tools>NuGet 程序包管理器>Manage NuGet Packages for Solution

  2. “解决方案的管理包 ”窗口中,选择要向其应用操作的项目。

    解决方案的“管理包”窗口的屏幕截图。在包详细信息窗格中,选择所有项目,并且“安装”按钮可用。

合并选项卡

开发人员通常认为,在同一解决方案中跨不同项目使用不同的 NuGet 包版本是错误的。 您可以使用 “管理解决方案的包” 窗口来为您的 NuGet 包使用通用版本。 为此,请转到“ 合并 ”选项卡,发现解决方案中不同项目使用具有不同版本号的包的位置。

解决方案的“管理包”窗口的屏幕截图。包详细信息窗格列出了两个使用不同版本的包的项目。

在此示例中,MyClassLibrary 项目使用 EntityFramework 6.5.1,但 MyConsoleApp 使用 EntityFramework 6.5.0。 若要合并包版本,请执行以下步骤:

  1. 在“ 合并 ”选项卡上,选择要在项目列表中更新的项目。

  2. “版本”旁边,选择要用于所有选定项目的版本。

  3. 选择 安装

    NuGet 程序包管理器在所有选定项目中安装所选包版本,并且包不再显示在 Consolidate 选项卡上。

软件包源

Visual Studio忽略包源的顺序。 而是使用最先响应请求的源包。 有关详细信息,请参阅 还原包。 有关如何从特定源加载包的信息,请参阅 包源映射

  1. 若要更改 Visual Studio 从中加载包元数据的源,请转到 NuGet 包管理器 窗口或 为解决方案管理包 窗口的顶部。 在 包源旁边,选择要使用的源。

    “管理解决方案包”窗口右上角的屏幕截图。突出显示“包源”列表,并选中 nuget.org。

  2. 若要管理包源,请选择 “设置” 图标,或选择 “工具>选项”。

    “管理解决方案包”窗口右上角的屏幕截图。在“包源”列表旁边,突出显示了“设置”图标。

  3. 若要管理 NuGet 包源,请参阅 Visual Studio 中的 NuGet 程序包管理器 选项。

NuGet 包管理器选项控制

选择包时,NuGet 程序包管理器在详细信息窗格中显示可展开的 Options 控件,位于 Version 列表下方。 对于大多数项目类型,仅提供 “显示预览”窗口 复选框。 但对于某些项目类型,其他选项也可用。

NuGet 包管理器的包详细信息窗格中选项控件的屏幕截图,显示用于安装、更新和卸载的选项。

以下部分介绍了可用选项。

安装和更新选项

这些选项仅适用于某些项目类型:

  • 依赖项行为:此选项指定 NuGet 安装的依赖包的版本。 它具有以下设置:

    • 忽略依赖项 会跳过依赖项的安装,这通常会中断所安装的包。
    • 最低 安装具有满足主所选包要求的最小版本号的依赖项。 此设置是默认设置。
    • 最高补丁 安装与所选版本相同的主版本号和次版本号的版本,但补丁编号最高。 例如,如果指定了版本 1.2.2,则安装以 1.2 开头的最高版本。
    • 次高版本 安装与所选版本相同主版本号的版本,但具有最高次要版本号和补丁号。 如果指定了版本 1.2.2,则安装以 1 开头的最高版本。
    • 最高版本 安装最高可用版本的软件包。
  • 文件冲突操作:此选项指定 NuGet 如何处理项目或本地计算机中已存在的包。 它具有以下设置:

    • 提示 指示 NuGet 询问是保留还是覆盖现有包。
    • 忽略所有 指示 NuGet 跳过覆盖任何现有包。
    • 覆盖所有 指示 NuGet 覆盖任何现有包。

卸载选项

这些选项仅适用于某些项目类型:

  • 删除依赖项:选择此选项后,如果未在项目中其他位置引用依赖包,则删除任何依赖包。

  • 强制卸载,即使存在依赖项:选择此选项时,即使包在项目中被引用,也会卸载包。 此选项通常与 “删除依赖项” 结合使用,以删除包及其安装的依赖项。 但使用此选项可能会导致项目中的引用中断。 在这种情况下,可能需要 重新安装这些其他包

有关 NuGet 的详细信息,请参阅以下文章: