NuGet学习笔记(1)——初识NuGet及快速安装使用
关于NuGet园子里已经有不少介绍及使用经验,本文仅作为自己研究学习NuGet一个记录。
初次认识NuGet是在去年把项目升级为MVC3的时候,当时看到工具菜单多一项Library Package Manager,右键项目文件多了一项Manage Nuget Packages...,这是个神马玩意儿,当时是一头雾水,后台查了些资料才知到NuGet是 Visual Studio的一个扩展,引用dudu的话来说就是管理程序的包包,可以参考msdn上这篇文章使用 NuGet 管理项目库以及咱们博客园站长dudu写的程序员,用NuGet管理好你的类库,有些类似java中常用的maven
为什么要使用NuGet
简单的说NuGet可以是我们的工作更方便,当我们的项目里要引用到的一些库时候,比如JQuery、Newtonsoft.Json、log4net等,我们需要从网上下载这些库,然后依次拷贝到各个项目中,当有的类库有更新时又不得不再重复一遍很是繁琐 ,这时就可以考虑使用NuGet来帮我们管理和更新这些类库,而且更新类库时会自动添加类库的相关引用,方便至极。当然网上一些我们常用的类库更新频率不是很高而且即便出了新版本我们也没必要总是保持最新,故这点对我们的帮助比较有限,个人认为NuGet最大的好处在于可以搭建自己的类库服务器,想想一下吧,在一些较大些的公司里面有很多的项目,然后其中有一些是整个组,甚至整个公司通用的类库,当这些类库有更新后我们需要依次拷贝到我们的项目,甚至于有时候我们自己都搞不清楚各个项目里的版本是否一致,有时偶尔一两个项目忘了复制更新出现莫名其妙的错误,为此头疼不已,现在有了NuGet,世界从此而不同。
安装NuGet扩展
要使用NuGet首先需要安装它(在安装了MVC3的系统上已自动安装了NuGet)
1. 点击 工具-->扩展管理器(R)...-->右上角搜索框输入NuGet

2. 点击 NuGetPackage Manager 项上面的下载按钮开始下载NuGet

3. 下载完成后出现安装页面,点安装开始安装

4. 很快安装完成,然后点击关闭完成整个安装

5. 安装完后NuGet暂时不能用,需要重新启动下VS才行,重启后完毕后打开 扩展管理器(R)... 在已安装的扩展里可以看到NuGet Package Manager已经安装好了

使用NuGet下载需要的类库
1. 打开NuGet管理界面

2. 出现如下界面,可以在里面找自己想要的类库也可以在右上角搜索里面输入关键字查找自己想要的类库,找到合适自己的类库后点install进行安装

3. 这里我们选择安装Json.Net,点击安装好出现组件下载界面

4. 下载完成后会出现提示将类库安装到什么项目,这里我们选择安装到TestConsole项目

5. 安装完成后可以看到已经安装的Josn.Net显示一个已安装的小对勾

6. 打开项目引用可以看到我们刚选择的类库Newtonsoft.Json已经自动添加到项目引用中

使用命令行管理你的类库
1. NuGet提供了命令行安装方法,在菜单中选择Package Manager Console,打开命令行控制台

2. 出现NuGet控制台界面,默认类库源(Package source)为官方站点,也可以指向自己搭建的本地或内网站点,Default project表示默认将下载的类库添加到那个项目的引用中

3. NuGet控制台有几个常用命令
Get-Package 获取当前项目已经安装的类库
Install-Package 安装指定类库,命令格式如下:Install-Package 类库ID,如Install-Package Newtonsoft.Json 这里需要注意的是类库的ID是唯一的,指向命令后会自动搜索指定类库源里指定ID类库,若找到则自动下载并添加引用,找不到则会出现找不到类库的提示
Uninstall-Package 卸载指定类库,命令格式如下:Uninstall-Package 类库ID,如Uninstall-Package Newtonsoft.Json
Update-Package 更新指定类库,命令格式如下:Update-Package 类库ID,如Update-Package Newtonsoft.Json

ps:刚开始不熟悉时可以使用界面方式下载和更新类库,有一定经验后还是建议使用控制台添加、更新类库这样很方便,由于使用控制台需要知道类库的准确ID,可以到http://www.nuget.org/packages这里去查找,把自己常用的ID记录下方便以后使用
NuGet学习笔记(1)——初识NuGet及快速安装使用的更多相关文章
- NuGet学习笔记(1)——初识NuGet及快速安装使用(转)
关于NuGet园子里已经有不少介绍及使用经验,本文仅作为自己研究学习NuGet一个记录. 初次认识NuGet是在去年把项目升级为MVC3的时候,当时看到工具菜单多一项Library Package M ...
- NuGet学习笔记(1) 初识NuGet及快速安装使用[转]
来自:http://www.cnblogs.com/lzrabbit/archive/2012/05/01/2477607.html 关于NuGet园子里已经有不少介绍及使用经验,本文仅作为自己研究学 ...
- NuGet学习笔记1——初识NuGet及快速安装使用
关于NuGet园子里已经有不少介绍及使用经验,本文仅作为自己研究学习NuGet一个记录. 初次认识NuGet是在去年把项目升级为MVC3的时候,当时看到工具菜单多一项Library Package M ...
- NuGet学习笔记(1) 初识NuGet及快速安装使用
关于NuGet园子里已经有不少介绍及使用经验,本文仅作为自己研究学习NuGet一个记录. 初次认识NuGet是在去年把项目升级为MVC3的时候,当时看到工具菜单多一项Library Package M ...
- [转]NuGet学习笔记(1) 初识NuGet及快速安装使用
关于NuGet园子里已经有不少介绍及使用经验,本文仅作为自己研究学习NuGet一个记录. 初次认识NuGet是在去年把项目升级为MVC3的时候,当时看到工具菜单多一项Library Package M ...
- NuGet学习笔记(2) 使用图形化界面打包自己的类库
上文NuGet学习笔记(1) 初识NuGet及快速安装使用说到NuGet相对于我们最重要的功能是能够搭建自己的NuGet服务器,实现公司内部类库的轻松共享更新.在安装好NuGet扩展后,我们已经能够通 ...
- NuGet学习笔记(转)
NuGet学习笔记(1)——初识NuGet及快速安装使用 http://kb.cnblogs.com/page/143190/ 1. NuGet是什么? NuGet is a Visual Studi ...
- NuGet学习笔记
NuGet学习笔记(1)——初识NuGet及快速安装使用 NuGet学习笔记(2)——使用图形化界面打包自己的类库 NuGet学习笔记(3)——搭建属于自己的NuGet服务器
- NuGet学习笔记(2)——使用图形化界面打包自己的类库
上文NuGet学习笔记(1) 初识NuGet及快速安装使用说到NuGet相对于我们最重要的功能是能够搭建自己的NuGet服务器,实现公司内部类库的轻松共享更新.在安装好NuGet扩展后,我们已经能够通 ...
随机推荐
- Java快速教程
作者:Vamei 出处:http://www.cnblogs.com/vamei Java是面向对象语言.这门语言其实相当年轻,于1995年才出现,由Sun公司出品.James Gosling ...
- 【干货分享】.NET单元测试电子书
文章目录: 引言 书籍首页 书籍目录 备注 下载 回到顶部 引言: 平时没有项目压力时候,首先想到的是充电学习,要系统学习都会想到购买书籍,或者向同事借阅.买的书多了烦恼也来了,因为大学到现在5 ...
- 17_高级映射:一对一查询(使用resultType)
[数据库模型] [各个表] [ 用户表user ] 购买商品的用户信息. [ 订单表 ] 用户所创建的订单 [ 订单明细表 ] 订单的详细信息,即购买商品的信息 [ 商品表 ] 商品的具体信息 [有关 ...
- linux下搭建nginx+php(FastCGI)+mysql运行环境
一.安装环境 1.CentOS5.5 2.php5.4 3.MySQL5.5.19 二.安装程序依赖库和开发环境 为了省事把所需要的库文件全都安装上,可以使用rpm包安装,也可以用yum命令安装, 1 ...
- sgu 103 Traffic Lights
这道题难得不是算法,而是处理. 题意就是让你求最短路,只有当两个点在某一秒颜色相同时,这条边才可以通行,输入首先给你 起点和终点, 然后给你 点数和边数, 接下来 n 行 初始颜色,初始颜色持续时间, ...
- 把URL传递参数转变成自定义实体方法
先定义下要获取的实体: public class InputClass { public long Id { get; set; } public int Status { get; set; } p ...
- MySQL 数据库增量数据恢复案例
MySQL 数据库增量数据恢复案例 一.场景概述 MySQL数据库每日零点自动全备 某天上午10点,小明莫名其妙地drop了一个数据库 我们需要通过全备的数据文件,以及增量的binlog文件进行数据恢 ...
- Newtonsoft.Json随手记
private static Newtonsoft.Json.JsonSerializerSettings CreateSettings(string dateFormat) { Newtonsoft ...
- 开发APP不搞清楚这20个问题,必然沦为一场灾难
移动经济的高速增长极大刺激了企业和个人的APP开发热情,从卖野山鸡的到卖无人机的,从老大妈到小正太都跃跃欲试,更不要说那些传统企业的信息主管们了. 面对今天如过江之鲫的APP市场,很少有人意识到,移动 ...
- JS判断输入框值是否为空
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...