快速入门:在 Visual Studio 中安装和使用 NuGet 包(仅限 Windows)

NuGet 包 包含其他开发人员提供给你的可重用代码,以便在你的项目中使用。 可以使用 NuGet 包管理器包管理器控制台.NET CLI在 Microsoft Visual Studio 项目中安装 NuGet 包。 本文演示如何使用常用的 Newtonsoft.Json 包创建 Windows Presentation Foundation (WPF) 项目。 相同的过程适用于任何其他 .NET 或 .NET Core 项目。

安装 NuGet 包后,可以使用 using <namespace> 语句在代码中引用它,其中 <命名空间> 是正在使用的包的名称。 进行引用后,即可通过其 API 调用包。

本文仅适用于 Windows 用户。 如果使用 Visual Studio for Mac,请参阅 安装和使用 Visual Studio for Mac 中的包

提示

若要查找 NuGet 包,请从 nuget.org开始。浏览 nuget.org 是 .NET 开发人员通常如何查找可在自己的应用程序中重复使用的组件。 可以直接搜索 nuget.org,也可以在 Visual Studio 中查找并安装包,如本文所示。 有关详细信息,请参阅 查找和评估 NuGet 包

先决条件

  • 使用 .NET 桌面开发工作负载安装 Visual Studio 2022 for Windows。

    你可以从 visualstudio.microsoft.com免费安装 2022 社区版,也可以使用专业版或企业版。

创建项目

如果该包支持与项目相同的目标框架,则可以将 NuGet 包安装到任何 .NET 项目中。 但是,在本快速入门中,你将创建一个 Windows Presentation Foundation (WPF) 应用程序项目。

请按照以下步骤操作:

  1. 在 Visual Studio 中,选择“文件>新建>项目

  2. 创建新项目 窗口中,在搜索框中输入 WPF,然后在下拉列表中选择 C#Windows。 在生成的项目模板列表中,选择 WPF 应用程序,然后选择“下一步”

  3. 配置新项目 窗口中,可以选择更新 项目名称解决方案名称,然后选择 下一

  4. 在“附加信息”窗口中,为 Framework选择 .NET 6.0(或最新版本),然后选择 创建

    Visual Studio 将创建项目,并显示在解决方案资源管理器 中。

添加 Newtonsoft.Json NuGet 包

若要在本快速入门中安装 NuGet 包,可以使用 NuGet 包管理器或包管理器控制台。 根据您的项目格式,NuGet 包的安装会将依赖项记录在您的项目文件或 packages.config 文件中。 有关详细信息,请参阅 包使用工作流

NuGet 包管理器

若要使用 NuGet 包管理器 在 Visual Studio 中安装 Newtonsoft.Json 包,请执行以下步骤:

  1. 选择 项目>管理 NuGet 包

  2. NuGet 包管理器 页中,选择 nuget.org 作为 包源

  3. 在“浏览”选项卡中,搜索 Newtonsoft.Json,在列表中选择 Newtonsoft.Json,然后选择 安装

    显示 NuGet 包管理器窗口的屏幕截图,其中选择了 Newtonsoft.Json 包。

  4. 如果系统提示验证安装,请选择 确定

包管理器控制台

或者,若要使用 Visual Studio 中的 包管理器控制台 来安装 Newtonsoft.Json 包,请执行以下步骤:

  1. 在 Visual Studio 中,选择 工具>NuGet 包管理器>包管理器控制台

  2. 包管理器控制台 窗格打开后,验证 默认项目 下拉列表是否显示要在其中安装包的项目。 如果解决方案中有一个项目,则会预先选择该项目。

    显示“包管理控制台”窗口的屏幕截图,其中突出显示了“默认项目”。

  3. 在控制台提示符下,输入命令 Install-Package Newtonsoft.Json。 有关此命令的详细信息,请参阅 Install-Package

    控制台窗口显示命令的输出。 错误通常表示包与项目的目标框架不兼容。

在应用中使用 Newtonsoft.Json API

在项目中 Newtonsoft.Json 包中,调用其 JsonConvert.SerializeObject 方法,将对象转换为可读字符串:

  1. 解决方案资源管理器中,打开 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>
    
  2. MainWindow.xaml 节点下打开 MainWindow.xaml.cs 文件,并在构造函数之后的 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 = "john@microsoft.com",
            DOB = new DateTime(1980, 2, 20, 0, 0, 0, DateTimeKind.Utc),
        };
        string json = JsonConvert.SerializeObject(account, Newtonsoft.Json.Formatting.Indented);
        TextBlock.Text = json;
    }
    
  3. 若要避免代码中 JsonConvert 对象的错误(将出现红色波浪线),请在代码文件的开头添加以下语句:

    using Newtonsoft.Json;
    
  4. 若要生成并运行应用,请按 F5 或选择“调试”>“开始调试”

    此时会显示以下窗口:

    显示 WPF 应用的初始输出的屏幕截图。

  5. 选择 “点击我” 按钮,以查看 TextBlock 对象被替换为 JSON 文本后的内容。

    屏幕截图,显示选择按钮后 WPF 应用的输出。

另请参阅

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

后续步骤

祝贺你安装和使用第一个 NuGet 包。 转到下一篇文章,详细了解如何安装和管理 NuGet 包。

使用 NuGet 包管理器 安装和管理包

使用包管理器控制台 安装和管理包