.NET 帮助

什么是NuGet?

发布 2022年十月30日
分享:

允许开发人员编写、交换和使用功能代码的系统是任何现代开发平台的重要组成部分。这些功能代码被捆绑在 "软件包 "中,这些 "软件包 "还包括使用它们的项目所需的其他材料,例如编译代码 (以动态链接库的形式).

微软支持的 .NET 代码共享方法 (包括 .NET Core) 就是 NuGet。NuGet 支持 .NET 框架软件包的生产、托管和检索。NuGet 管理的软件包称为 NuGet 包。

什么是 NuGet?NuGet 软件包只是一个压缩文件,扩展名为 .nupkg。它包含软件运行所需的所有 DLL。除其他内容外,它还包含一个描述性清单,说明软件包的版本号。开发人员只需安装 NuGet 软件包,就可以使用该软件包提供的方法。

NuGet 功能

  • NuGet 为中央主机添加了私人主机支持 nuget.org 存放处。
  • NuGet 提供了开发人员创建、发布和安装软件包所需的工具。
  • NuGet 会跟踪项目中使用的软件包,并允许你从列表中恢复和更新这些软件包。
  • NuGet 会跟踪与软件包结构有关的所有规范,如本地化和引用方式。
  • NuGet 提供了大量的 API,用于以编程方式与其所有服务交互,并为发布 Visual Studio 扩展的开发人员提供支持。
  • NuGet 包括一个软件包缓存和一个软件包全局文件夹,使安装和重新安装更容易。如果一个软件包已经存在于本地计算机上,缓存将不会从中央软件库中下载,而是从缓存中提供该软件包。

NuGet 软件包如何工作?

NuGet 作为一个公共主机,维护着一个包含超过 100,000 个独特的套餐.每天都有数百万 .NET/.NET Core 开发人员使用这些软件包。NuGet 还可让您在云中私自托管软件包 (例如,在 Azure DevOps 上)因此,只有能够访问主机的开发人员才能使用这些软件包。因此,只有能够访问主机的开发人员才能使用这些软件包,这样就可以将软件包提供给特定的消费者群体。

无论主机的性质如何,它都是软件包创建者和软件包消费者之间的纽带。创建者开发有用的 NuGet 软件包并将其分发到主机。然后,消费者在可访问的主机上搜索有用且兼容的软件包,下载这些软件包并将其安装到自己的项目中。一旦安装到项目中,项目代码的其余部分就可以访问软件包的 API。

什么是 NuGet,图 1

NuGet 工具

有六种工具用于管理 NuGet 软件包。

.NET CLI

它是一个命令行界面 (CLI) 适用于 .NET Core 和 .NET 标准库,以及针对 .NET Framework 的 SDK 类型项目 (参见 SDK 属性).某些 NuGet CLI 功能可直接在 .NET Core 工具链中使用。.NET CLI 与 nuget.exe CLI 一样,不与 Visual Studio 项目交互。

NuGet.exe CLI

它是针对.NET框架库和以.NET标准库为目标的非SDK风格项目的CLI。它提供 .NET CLI 的所有功能,但有些命令只适用于一包创建者,其他命令只适用于消费者。例如,软件包创建者使用 NuGet 一包 command to generate a 一包age from various assemblies and related files. Package users use NuGet 安装 to include 一包ages in a project folder. Both 一包age developers and 一包age users uses NuGet 配置 来设置 NuGet 配置变量。

NuGet CLI 不与 Visual Studio 项目交互,因为它是一个平台无关的工具。

软件包管理器控制台

软件包管理器控制台提供 PowerShell 命令,用于在 Visual Studio 项目中安装和管理软件包。

软件包管理器用户界面

软件包管理器用户界面为在 Visual Studio 中安装和管理项目软件包提供了一个用户友好界面。

管理 NuGet 包管理器用户界面

该工具还为在 Visual Studio 项目中安装和管理软件包提供了用户友好界面。该工具仅适用于 Mac 用户。

MSBuild

MSBuild 允许用户直接从 MSBuild 工具链中创建和恢复项目中使用的软件包。

软件包管理器用户界面(Package Manager UI)和软件包管理器控制台(Package Manager Console)是管理 NuGet 软件包最广泛使用的工具。下面我们将探讨如何使用它们。

使用 NuGet 软件包管理器用户界面

在 Visual Studio 中,点击顶部菜单栏中的 "工具",然后选择 "NuGet 包管理器">"管理解决方案的 NuGet 包"。

如下图所示,将出现一个新窗口。

什么是 NuGet,图 2

在 "已安装 "选项卡中,这里将显示所有已安装的 NuGet 软件包。

单击 "浏览 "按钮并在搜索栏中写入软件包的名称。我们将搜索 IronBarcode 为例。

什么是 NuGet,图 3

点击 "安装 "按钮,程序库就会安装完毕,随时可以使用。

IronBarcode 是由 Iron Software 开发和维护的一个库,可帮助 C# 软件工程师在 .NET 应用程序中读写条形码和二维码。

核心功能包括

  • 从图像或 PDF 文件中读取单个或多个条形码和 QR 码。
  • 针对倾斜、方向、噪音、低分辨率、对比度等问题进行图像校正。
  • 创建条形码并应用于图像或 PDF 文档。
  • 将条形码嵌入 HTML 文档。
  • 设置条形码样式并添加注释文本。
  • QR Code Writing 允许添加徽标、颜色和高级 QR 对齐方式。

从产品中了解有关 IronBarcode 的更多信息 文档页面.

软件包管理器控制台的使用

在 Visual Studio 中,点击顶部菜单栏中的 "工具",然后选择 NuGet 包管理器 => 包管理器控制台。

软件包管理器控制台窗口将如下所示。

什么是 NuGet,图 4

让我们使用软件包管理器控制台安装一个软件包。

安装 安装软件包 "package-Name 命令用于安装软件包。例如

Install-Package IronPdf

IronOCR 是一个 C# 软件库,允许 .NET 软件开发人员从图像和 PDF 文档中检测和读取文本。它使用了目前已知的最先进的 Tesseract 引擎。 IronOCR 光芒万丈 其他 OCR 库 在处理现实世界中充满瑕疵的图像时 (即数字噪音、低质量分辨率等。) 它支持多种编程语言。

更多信息 技术文档产品网站.

一些有用的 NuGet 软件包

本节将介绍一些可用来处理数据库和文件的有用 NuGet 软件包。

实体框架

实体框架 是最常用、功能最强大的 NuGet 软件包,可用于在 .NET 应用程序中使用数据库。

它是一个由微软支持的开源 orm 框架,允许开发人员使用特定域对象处理数据,而不是使用存储数据的底层数据库表和列。在处理数据时,开发人员可以在更高的抽象层次上工作。这样,与传统应用程序相比,他们只需较少的代码就能创建和维护面向数据的应用程序。

有单独的 NuGet 包可用于管理 SQL 服务器、Oracle、MySQL 和 PostgreSQL 数据库服务器。

数据库 入门 页面提供有关实体框架功能的更多信息。

IronPDF

IronPDF 解决了在应用程序中添加 PDF 处理功能的难题。 IronPDF 自动将格式化文档转换为 PDF,还允许开发人员创建、编辑和导出 PDF 文档。

IronPDF 的主要功能包括

  • 使用 .NET 将网页表单、本地 HTML 网页和其他网页转换为 PDF。
  • 允许用户下载文档、通过电子邮件发送文档或将文档存储在云中。
  • 制作发票、报价、报告、合同和其他文档。
  • 使用 ASP .NET、ASP .NET Core、Web 表单、MVC、.NET Framework 和 .NET Core 上的 Web API。

了解有关 IronPDF 的更多信息 产品文档页面.

IronXL

IronXL 帮助 C# 软件工程师在 .NET 应用程序中读取、创建和编辑电子表格文件。 IronXL 在不使用 Office Excel Interop 的情况下也能很好地运行,而且不需要额外的依赖关系,也不需要安装 Microsoft Office。

有关 IronXL 的更多信息,请访问 这里.

Iron 软件公司提供所有五个库 (IronPDF、IronXL、IronBarcode、IronWebscraper 和 IronOCR) 在一个..NET套件.购买全套软件时,只需支付两个库的价格,即可获得全部五个库。所有购买均包括终身产品支持。

摘要

NuGet 是 .NET 应用程序的软件包管理器。NuGet 客户端工具提供了创建、共享和检索软件包的功能。NuGet Gallery 是所有软件包作者和消费者使用的中央软件包仓库。

  • NuGet 提供中央 nuget.org 资源库,支持私人托管。
  • NuGet 提供了开发人员创建、发布和安装软件包所需的工具。

  • NuGet 维护项目中使用的软件包参考,并能从该列表中恢复和更新这些软件包。
< 前一页
Razor 与 Blazor

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 10,731,156 查看许可证 >