快速入门:在 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 包

先决条件

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

    可以从 visualstudio.microsoft.com 免费安装 2022 Community 版,或者使用 Professional 或 Enterprise 版。

创建项目

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

执行以下步骤:

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

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

  3. 在“配置新项目”窗口中,根据需要更新项目名称解决方案名称,然后选择“下一步”。

  4. 在“其他信息”窗口中,为“框架”选择 .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,然后选择“安装”。

    Screenshot showing the NuGet Package Manager window with the Newtonsoft.Json package selected.

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

程序包管理器控制台

或者,若要使用 Visual Studio 中的 包管理器控制台安装 Newtonsoft.Json 包,请按照下列步骤操作:

  1. 从 Visual Studio 中,依次选择“工具>”“NuGet 包管理器>”“包管理器控制台

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

    Screenshot showing the Package Manage Console window with Default project highlighted.

  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 或选择“调试>”“启动调试”。

    将显示以下窗口:

    Screenshot showing the initial output of the WPF app.

  5. 选择“点击此处”按钮,查看替换为某些 JSON 文本的 TextBlock 对象内容。

    Screenshot showing the output of the WPF app after selecting the button.

另请参阅

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

后续步骤

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