本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

Visual Studio Code 中的 NuGet

NuGet是.NET的包管理器。它定义了如何创建、托管和使用.NET的包,并提供相应的工具。NuGet还代表项目管理依赖树,因此您只需关注项目中直接使用的包。

在Visual Studio Code中,您可以通过C# Dev Kit解决方案资源管理器直接管理NuGet包,或者使用命令面板进行管理。

要了解更多关于NuGet的信息,请访问NuGet文档

C# Dev Kit 中的 NuGet 命令

在 C# Dev Kit 中,您可以以两种方式之一执行 NuGet 包操作:

  • 使用命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P))

  • 在 C# Dev Kit 解决方案资源管理器中右键单击

以下各节将描述如何使用每种NuGet命令,使用这两种方法中的任意一种。

添加一个软件包

  1. 要将NuGet包添加到项目中,请在命令面板中使用命令NuGet: 添加NuGet包 (⇧⌘P (Windows, Linux Ctrl+Shift+P))。

    截图显示命令面板中的命令“NuGet: 添加 NuGet 包”

  2. 如果你的解决方案中有多个项目,系统会要求你选择要将该包添加到哪个项目中。

    截图显示快速选择菜单,下拉选项包括“项目”和“项目2”

  3. 接下来,输入搜索词以按名称搜索NuGet程序包。

    截图显示命令面板搜索栏,其中的占位符文本为“输入搜索词以搜索 NuGet 包。”

    快速选择显示可供选择的示例 NuGet 包列表。

    截图显示了快速选择下拉菜单,其中的占位符文本为:“选择一个NuGet包”。快速选择选项显示了可供选择的示例NuGet包列表。

  4. 接下来,选择您要应用的版本。

    截图显示了快速选择下拉菜单,其中的占位符文本为:“选择一个 NuGet 包版本”。快速选择选项显示了可供选择的示例 NuGet 包版本列表。

  5. 在您选择一个软件包和版本号后,C# Dev Kit 将其添加到您的项目并更新您的项目文件和引用。

更新一个软件包

  1. 要更新项目中的NuGet包,请在命令面板中使用命令NuGet: 更新NuGet包 (⇧⌘P (Windows, Linux Ctrl+Shift+P))。

  2. 如果你的解决方案中有多个项目,系统会要求你选择哪个项目包含你想要更新的包。

  3. 接下来,从当前项目中已安装的包列表中选择要更新的包。如果有可用更新的包,您可以选择其中一个进行更新。如果您的解决方案中没有可用更新的包,您将看到一条消息通知您这一点。

  4. 最后,您可以从可用版本的下拉列表中选择您希望将软件包更新到的版本。

    截图显示了快速选择下拉菜单,其中的占位符文本为:“选择一个 NuGet 包版本”。快速选择选项显示了一列表示示例 NuGet 包供选择。列表上有指示器显示用户项目中当前安装的版本(“当前”)和最新可用版本(“最新”)。

  5. C# Dev Kit 然后进行必要的更改,并更新您的项目文件和引用。

移除一个软件包

  1. 要从项目中移除 NuGet 包,请在命令面板中使用命令 NuGet: 移除 NuGet 包 (⇧⌘P (Windows, Linux Ctrl+Shift+P))。

  2. 如果你的解决方案中有多个项目,系统会要求你选择要从哪个项目中移除包。

  3. 接下来,从当前项目中已安装的包列表中选择您要删除的包。

  4. C# Dev Kit 然后进行必要的更改,并更新您的项目文件和引用。

包括预发布包版本

如果您想更新或添加NuGet包的预发布版本,首先需要将包含预发布包版本设置为

您可以在 文件 > 首选项 > 设置 (⌘, (Windows, Linux Ctrl+,)) 下找到此选项,并搜索 nuget.includePrereleasePackageVersions输入:.

依赖管理

自动 NuGet 恢复

对于一个 .NET 项目,当您从模板创建项目、构建、加载或更改 SDK 风格的项目时,会自动进行包恢复。您可以在输出面板中查看进度和日志。

自动 NuGet 包恢复

对于使用这些项目的工程<PackageReference>,你可以在 解决方案资源管理器 部分的 Visual Studio Code 中看到包引用。

解决方案资源管理器中的包引用

当发生还原或运行构建时,无法正确安装的程序包将在解决方案资源管理器中显示错误图标。

注意:目前,您无法右键单击项目来管理您的NuGet程序包,并且Visual Studio Code中没有NuGet程序包管理器用户界面。

有关管理包的更多信息,请参阅 使用 dotnet CLI 安装和管理 NuGet 包.