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.程序包从哪里来?
一部分是微软和其他用户提供的,但是显然,尤其是在一个企业中,都有自己的一套标准规范和类库,更具有个性化的特点,这个时候,这个程序包就是从企业内部自己生成出来的。下面简单说一下程序包的创建和发布过程:
3.发布程序包
根据自己的密钥,将自己的程序包发布到库上:
有一点需要注意,如果后期类库更改了,只需要再次创建程序包 pack,再次发布 push 就可以了(注意版本号的更改)。
4.使用程序包
在自己的程序中安装和更新程序包即可。具体可以参考一下:https://msdn.microsoft.com/zh-cn/magazine/hh547106.aspx