一、介绍
什么是Nuget? 引用自Nuget网站的原话“NuGet is the package manager for the Microsoft development platform including .NET. The NuGet client tools provide the ability to produce and consume packages. The NuGet Gallery is the central package repository used by all package authors and consumers.”。翻译过来,Nuget是为微软开发平台包括.NET而开发的包管理器,Nuget客户端工具提供生产和消费包的能力,Nuget Gallery提供集中的包存储仓库供所有的包作者和消费者所使用。
其中下载链接http://docs.nuget.org/consume/installing-nuget 所指向的就是Nuget客户端,而https://www.nuget.org/ 网站及其内部浏览搜索的内容即为Nuget Gallery。
二、软件包
近些年,包括NodeJS等知名框架在内都使用软件包的概念,微软也不例外的引入Package管理。软件包(SoftWare Package)是指具有特定的功能,用来完成特定任务的一个程序或一组程序。可分为应用软件包和系统软件包两大类。应用软件包与特定的应用领域有关,又可分为通用包及专用包两类。通用软件包根据社会的一些共同需求开发,专用软件包则是生产者根据用户的具体需求定制的,可以为适合其特殊需要进行修改或变更。
软件包由一个基本配置和若干可选部件构成,既可以是源代码形式,也可以是目标码形式。此外,软件包的维护及技术支持也是非常必要的。软件包的安装、更新、查询是软件包管理流程中的基本操作。
三、基本操作
1)安装
首先要保证安装了Nuget客户端工具NugetTools,它是Visual Studio集成工具(扩展名.vsix),其默认仓库的配置地址就是www.nuget.org,你可以通过包管理器配置添加或修改Nuget Gallery的地址。添加以后在创建的项目上鼠标右键菜单中就可以选择添加包,以在指定的Nuget Gallery中查找程序包并进行安装。
也可以使用本地包管理器控制台进行(Powershell)命令行安装,如:install-package <程序包名>
这里要说明两种离线安装方式,一种是通过Nuget.Server项目自建Nuget Gallery,使用方法与Nuget.org一样配置到Nuget仓库地址中即可。
还有一种就是手动下载,然后通过命令行安装,如:install-package <程序包名> -source <本地路径>
安装指定版本使用install-package <程序包名> –version <版本号>
2)更新
更新也有两种方式,一种是在改变目标框架后在解决方案处进入包管理器配置,查找程序包时会看见更新按钮,但此时多是自动更新,全部更新为引用包的最新版本。
如对更新的程序集或版本需要指定建议通过手动更新的方式,即在本地包管理控制台输入命令:update-package –reinstall <程序包名>
3)卸载
在Nuget程序包管理器界面中卸载或通过本地包管理器控制台输入命令:uninstall-package<程序包名> -force
参考链接:
Nuget服务器自建项目所需程序包地址:https://www.nuget.org/packages/NuGet.Server/