| title | 在 Visual Studio 中安装和使用 NuGet 包 |
|---|---|
| description | 有关如何在 Visual Studio 项目中安装并使用 NuGet 包的演练教程。 |
| author | karann-msft |
| ms.author | karann |
| ms.date | 07/24/2018 |
| ms.topic | quickstart |
| ms.openlocfilehash | 10bc34653d294cf70b5c91ce79a79cf6532fba1b |
| ms.sourcegitcommit | 2b50c450cca521681a384aa466ab666679a40213 |
| ms.translationtype | HT |
| ms.contentlocale | zh-CN |
| ms.lasthandoff | 04/07/2020 |
| ms.locfileid | 80147482 |
NuGet 包包含其他开发人员提供的在项目中使用的可重用代码。 请参阅什么是 NuGet?,了解背景信息。 使用 NuGet 包管理器、包管理器控制台或 dotnet CLI 在 Visual Studio 项目中安装包。 本文介绍使用热门的 Newtonsoft.Json 包和 Windows Presentation Foundation (WPF) 项目的过程。 相同的过程适用于任何其他 .NET 或 .NET Core 项目。
安装完成后,请引用具有 using <namespace> 的代码中的包,其中 <namespace> 特定于正在使用的包。 建立引用后,可通过相应的 API 调用包。
Tip
nuget.org 入门:为查找可在自己的应用程序中重用的组件,.NET 开发人员通常都会浏览 nuget.org 。 可以直接搜索 nuget.org 或根据本文中的介绍,在 Visual Studio 中查找和安装包 。 有关一般信息,请参阅查找和评估 NuGet 包。
- Visual Studio 2019 .NET 桌面开发工作流。
可以从 visualstudio.com 免费安装 2019 Community 版,或者使用 Professional 或 Enterprise 版。
如果使用的是 Visual Studio for Mac,请参阅在 Visual Studio for Mac 中安装并使用包。
可将 NuGet 包安装到任何 .NET 项目,前提是包支持与项目相同的目标框架。
本演练使用简单的 WPF 应用。 使用以下方法在 Visual Studio 中创建项目:单击“文件” > “新建项目”,在搜索框中键入“.NET”,然后选择“WPF 应用(.NET Framework)” 。 单击 “下一步” 。 出现提示时,接受 Framework 的默认值。
Visual Studio 创建项目,该项目将在解决方案资源管理器中打开。
若要安装此包,可以使用 NuGet 包管理器或包管理器控制台。 安装包时,NuGet 会将依赖项记录在项目文件或 packages.config 文件中(具体位置取决于项目格式)。 有关详细信息,请参阅包使用概述和工作流。
-
在解决方案资源管理器中,右键单击“引用”,选择“管理 NuGet 包” 。
-
将“nuget.org”选择为“包源”,选择“浏览”选项卡并搜索“Newtonsoft.Json”,在列表中选择该包,然后选择“安装” :
若要了解有关 NuGet 包管理器的详细信息,请参阅使用 Visual Studio 安装和管理包。
-
接受任何许可证提示。
-
(仅适用于 Visual Studio 2017)如果系统提示选择包管理格式,请选择 “项目文件中的 PackageReference”:
-
如果系统提示查看更改,请选择“确定” 。
-
选择“工具” > “NuGet 包管理器” > “包管理器控制台”菜单命令 。
-
控制台打开后,检查 “默认项目”下拉列表中是否显示在程序包中要安装的项目。 如果在解决方案中有一个项目,则它已被选中。
-
输入命令
Install-Package Newtonsoft.Json(请参阅 Install-Package)。 控制台窗口会显示该命令的输出。 错误通常指示程序包与项目的目标框架不兼容。若要了解有关包管理器控制台的详细信息,请参阅使用包管理器控制台安装和管理包。
使用项目中的 Newtonsoft.Json 包,可调用 JsonConvert.SerializeObject 方法将对象转换为可人工读取的字符串。
-
打开
MainWindow.xaml并将现有Grid元素替换为以下内容:<Grid Background="White"> <StackPanel VerticalAlignment="Center"> <Button Click="Button_Click" Width="100px" HorizontalAlignment="Center" Content="Click Me" Margin="10"/> <TextBlock Name="TextBlock" HorizontalAlignment="Center" Text="TextBlock" Margin="10"/> </StackPanel> </Grid>
-
打开
MainWindow.xaml.cs文件(位于MainWindow.xaml节点下的解决方案资源管理器中),然后在MainWindow类中插入以下代码:public class Account { public string Name { get; set; } public string Email { get; set; } public DateTime DOB { get; set; } } private void Button_Click(object sender, RoutedEventArgs e) { Account account = new Account { Name = "John Doe", Email = "[email protected]", DOB = new DateTime(1980, 2, 20, 0, 0, 0, DateTimeKind.Utc), }; string json = JsonConvert.SerializeObject(account, Formatting.Indented); TextBlock.Text = json; }
-
尽管已将 Newtonsoft.Json 包添加到项目中,因为你需要使用代码文件最上方的
using语句,所以JsonConvert下仍会出现红色波形曲线:using Newtonsoft.Json;
-
要构建并运行应用,请按 F5 或选择“调试” > “启动调试” :
-
选择按钮,查看替换为某些 JSON 文本的 TextBlock 的内容:
在第 9 频道和 YouTube 上查找更多 NuGet 视频。
祝贺你安装并使用第一个 NuGet 包!
[!div class="nextstepaction"] 使用 Visual Studio 安装和管理包
[!div class="nextstepaction"] 使用包管理器控制台安装和管理包
若要了解更多 NuGet 产品,请选择以下链接。





