在 Visual Studio for Mac 中安装和管理 NuGet 包

重要

根据 Microsoft 的新式生命周期策略,Visual Studio for Mac 计划于 2024 年 8 月 31 日停用。 虽然你可以继续使用 Visual Studio for Mac,但 Mac 上的开发人员还可以使用其他几个选项,例如适用于 VS Code 的新 C# 开发工具包扩展的预览版本。

详细了解支持时间表和替代方案

通过 Visual Studio for Mac 中的 NuGet 包管理器 UI,可轻松安装、卸载和更新项目和解决方案中的 NuGet 包。 可以搜索包和将包添加到 .NET Core、ASP.NET Core 和 Xamarin 项目。

本文介绍如何在项目中包括 NuGet 包并演示实现此流程无缝的工具链。

有关在 Visual Studio for Mac 中使用 NuGet 的简介,请参阅快速入门:在 Visual Studio for Mac 中安装和使用包

查找和安装包

  1. 对于 Visual Studio for Mac 中打开的项目,右键单击“解决方案窗口”中的“依赖项”文件夹(如果使用 Xamarin 项目,则为“包”文件夹)并选择“管理 NuGet 包...” 。

    This screenshot is of Add new NuGet package context action.

  2. 随即显示“管理 NuGet 包”对话框。 确保对话框左下角的“包源”下拉列表已设置为 nuget.org,以便可搜索中央 NuGet 包存储库。

    This screenshot is of Manage NuGet Packages dialog - List NuGet Packages. The Package source option is set to nuget.org.

  3. 使用右上角的搜索框查找特定的包,如 EntityFramework。 找到希望使用的包后,请选择它并选择“添加包”按钮以开始安装。

    This screenshot is of add EntityFramework NuGet Package.

  4. 包下载完毕后会添加到项目中。 解决方案将根据正在编辑的项目类型而发生变化:

    Xamarin 项目

    • “引用”节点包含属于 NuGet 包的所有程序集列表
    • “包”节点显示已下载的每个 NuGet 包。 可以更新该列表中的包,或从列表中删除包。

    .NET Core 项目

    • “NuGet”节点(“依赖项”>“NuGet”)显示已下载的每个 NuGet 包。 可以更新该列表中的包,或从列表中删除包。

使用 NuGet 包

添加 NuGet 包并更新项目引用后,可以如针对任何项目引用一样根据 API 对其进行编程。

请确保将任何所需的 using 指令添加到文件顶部:

using Newtonsoft.Json;

更新包

通过右键单击“依赖项”节点(对于 Xamarin 项目为“包”节点)可以一次性完成所有包更新,也可以在每个包上单独进行包更新。 提供新版本的 NuGet 包时,更新图标将会显示 This is the update icon for updating a new version of NUGet package - Up arrow with circle.

右键单击“依赖项”,以访问上下文菜单,然后选择“更新”以更新所有包

This screenshot shows the Dependencies context menu with the Update menu highlighted.

  • 管理 NuGet 包 - 打开窗口,将更多包添加到项目。
  • 更新 - 检查每个包的源服务器并下载任何更新版本。
  • 还原 - 下载任何缺少的包(无需将现有包升级到更新版本)。

现在也提供解决方案级别的“更新”和“还原”选项,这些选项可影响该解决方案中的所有项目。

更新为包的预发行版本

若要更新为包的较新预发行版本,可以右键单击“依赖项”以打开上下文菜单,然后选择“管理 NuGet 包...”菜单 。

This screenshot shows Dependencies context menu with Manage NuGet Packages... menu highlighted.

选中对话框底部的“包括预发行版”复选框。

This screenshot shows Manage NuGet Packages dialog opened with the 'Include prereleases option checked.

最后,从对话框的“更新”选项卡中,选择要更新的包,然后从“新版本”下拉列表中选择新的预发行版本并选择“更新包”。

This screenshot shows Manage NuGet Packages dialog opened to the Installed tab, with a package selected and the New Version dropdown list open.

查找过时的包

在“解决方案”窗口中,可以查看当前安装的包版本。 右键单击要更新的包。

This screenshot shows Packages menu with the options to Update, Remove, Refresh.

包存在可用新版本时,包名称旁会显示通知。 你可以决定是否更新包。

This screenshot is of Notification shown when a new package version is available.

显示的菜单中包含两个选项:

  • 更新 - 检查源服务器并下载更新版本(如果存在)。
  • 删除 - 从此项目中删除包,并从项目引用中删除相关的程序集。

管理解决方案的包

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

  1. 右键单击解决方案,并选择“管理 NuGet 包…”

    This screenshot shows Manage NuGet packages for the solution.

  2. 管理解决方案的包时,可通过 UI 选择受操作影响的项目:

    This screenshot shows Project selector when managing packages for the solution.

“合并”选项卡

在具有多个项目的解决方案中操作时,请确保无论在每个项目的何处使用同一 NuGet 包,都要使用该包的同一版本号。 在选择管理某解决方案的包时,Visual Studio for Mac 会在包管理器 UI 中提供“合并”选项卡,为你简化这一操作。 借助“合并”选项卡,你可轻松查看解决方案中的不同项目在哪些位置使用具有不同版本号的包:

This screenshot shows the Package Manager UI Consolidate tab.

在本例中,NuGetDemo 项目使用的是 Microsoft.EntityFrameworkCore 3.1.23,而 NuGetDemo.Shared 使用的是 Microsoft.EntityFrameworkCore 5.0.2。 要合并包版本,请执行以下步骤:

  1. 在项目列表中选择要更新的项目。
  2. 在“新版本”列表中选择要在上述所有项目中使用的版本,例如 Microsoft.EntityFrameworkCore 6.0.3。
  3. 选择“合并包”按钮

包管理器将选定的包版本安装到所有选定的项目中,之后包不再显示在“合并”选项卡上

添加包源

最初从 nuget.org 检索安装包。然而,可以将其他包位置添加到 Visual Studio for Mac。 这有助于测试自己正在开发的 NuGet 包,或有助于使用公司或组织内的专用 NuGet 服务器。

在 Visual Studio for Mac 中,导航到“Visual Studio”>“首选项”>“NuGet”>“源”,查看和编辑包源的列表。 源可以是(由 URL 指定的)远程服务器或本地目录。

This screenshot shows Package Sources to add other package locations to Visual Studio for Mac.

选择“添加”设置新源。 向包源输入易记名称和位置(URL 或文件路径)。 如果源是安全的 Web 服务器,则同时输入用户名和密码,否则请将这些条目留空:

This screenshot shows Add Package Source dialog with a prompt for Name, location URL, user name, and password.

搜索包时可以选择不同的源:

This screenshot shows Add Package Source dialog showing a drop down with a list of package sources.

版本控制

NuGet 文档讨论了在不将包提交到源控件的情况下使用 NuGet。 如果不希望将二进制文件和未使用信息存储到源代码管理中,可以将 Visual Studio for Mac 配置为自动从服务器还原包。 当开发人员首次从源代码管理检索项目时,Visual Studio for Mac 将自动下载安装所需的包。

This screenshot shows the Preferences screen to automatically restore packages when opening a solution.

有关如何使 packages 目录不受跟踪的详细信息,请参阅特定的源控件文档。

另请参阅