什么是 NuGet?

原文:https://www.geeksforgeeks.org/what-is-nuget/

NuGet 是. NET 的官方包管理器,包基本上是带有一些描述性元数据的编译库。NuGet 是任何现代开发平台必不可少的工具,是一种机制,开发人员可以通过它来创建、共享和消费有用的代码。通常,这样的代码被捆绑到“包”中,这些包包含编译后的代码以及使用这些包的项目所需的其他内容。NuGet 包包含一个扩展名为的单个 ZIP 文件。nupkg 由编译代码(dll)和包的版本号等信息组成。

NuGet 本身处理所有中间细节,例如,如果一个有代码的开发人员想要共享创建一个包,并在公共或私有主机上发布它们。然后,包消费者从合适的宿主获得这些包,并将它们添加到他们的项目中,最后在他们的代码中调用包功能。由组织开发的 NuGet 包代码可以使用,因为它支持私有主机和公共 nugget.org 主机。通过在项目中使用 NuGet 包,还可以方便地使用它来分解代码。Nuget 被认为是一个可共享的代码单元,但它不需要任何特定的共享方式。

它提供:

  • NuGet 为中央 NuGet 存储库提供了对私有托管的支持。
  • NuGet 提供了开发人员创建、发布和消费包所需的工具。
  • NuGet 维护项目中使用的包的参考列表,以及从该列表中恢复和更新那些包的能力。
  • 除此之外,NuGet 维护与包的结构相关的所有规范,例如本地化和如何引用它们。Nuget 为以编程方式使用其所有服务提供了许多 API,并为发布 Visual Studio 扩展的开发人员提供了支持。
  • NuGet 为包提供包缓存和全局文件夹,以简化安装和重新安装过程。如果本地计算机中已经有一个包,缓存将非常有用。

NuGet 在整体依赖图中有所帮助,这导致避免了对同一个包的不同版本的多次引用。 一些实用程序包被许多其他包使用。因此,您可以很容易地对同一个包的不同版本有更多的引用。为了避免将同一个包的不同版本带入到您的项目中,NuGet 对所有消费者可以使用的单一版本进行了分类。即它解决了自己项目中的依赖性问题。