当前位置: 首页 > 工具软件 > NuGet > 使用案例 >

NuGet 是什么? 理解与使用

方宏富
2023-12-01

NuGet 是什么? 理解与使用

NuGet 是一个自由开源软件包管理系统,用于Microsoft开发平台,以前称NuPack。

NuGet 作为 Visual Studio 扩展,能够简化在 Visual Studio 项目中添加、更新和删除库(部署为程序包)的操作。NuGet 包是打包成单个ZIP文件,文件扩展名是 .nupkg,使用开放打包约定(OPC)格式,包好编译代码(Dll)、与该代码相关的其他文件以及描述性清单(包含包版本号等信息)。从 Visual Studio 2012开始,缺省预安装了 NuGet 。

【定义】

NuGet 是一个包(package)管理平台,确切地说,是.net 平台的包管理工具,它提供了一系列客户端用于生成、上传和使用包,以及一个用于存储所有包的中心库即NuGet Gallery,如果有需要也可以搭建自己的私有 NuGet 库。

NuGet 的实现均为开源项目,包括了客户端工具、服务器、官方网站,以及各语言的文档等。这些项目可以在下面的链接中找到:https://github.com/NuGet

【应用】

从一件事情的发展顺序来说,NuGet 是用来管理项目库(下面统称为程序包)的,那么首先,程序包应该放到哪里呢?

1.程序包放哪里?

默认的,它们位于 nuget.org 的官方 NuGet 程序包库中。此库公开了一个 OData 源:

packages.nuget.org/v1/FeedService.svc

一般在 NuGet 官网注册一个账号,验证后可获得一个 API Key,它就是以后用来发布程序包的 APIKey。还有一种情况,自己搭建 NuGet 服务器,发布后,在VS中添加本地站点到包数据源,自己全权管理自己的程序包,不借助于第三方平台。(推荐一篇博客,图文并茂讲解如何搭建自己的NuGet 服务器:https://kb.cnblogs.com/page/143192/

2.程序包从哪里来?

一部分是微软和其他用户提供的,但是显然,尤其是在一个企业中,都有自己的一套标准规范和类库,更具有个性化的特点,这个时候,这个程序包就是从企业内部自己生成出来的。下面简单说一下程序包的创建和发布过程:

  • 创建一个类库项目
  • 从项目生成 NuSpec 清单(nuget spec)
  • 更新项目的程序集元数据(此信息通常位于名为 AssemblyInfo.cs 的文件中)
  • 使用 NuGet .exe 创建程序包(nuget pack ProjectName.csproj)

3.发布程序包

根据自己的密钥,将自己的程序包发布到库上:

  • 使用命令将其存储在安全的位置
  • 存储密钥后,使用 push 命令将程序包发布到库

有一点需要注意,如果后期类库更改了,只需要再次创建程序包 pack,再次发布 push 就可以了(注意版本号的更改)。

4.使用程序包

在自己的程序中安装和更新程序包即可。具体可以参考一下:https://msdn.microsoft.com/zh-cn/magazine/hh547106.aspx

 

 

 

 类似资料: