原文作者:懒惰的肥兔  博客地址:https://www.cnblogs.com/lzrabbit/archive/2012/04/30/2476255.html

关于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

也可以指定具体版本号安装或更新:Install-Package 类库ID -Version 版本号

比如安装:

Install-Package Microsoft.AspNet.SignalR -Version 2.1.2

更新:
UPDATE-Package Microsoft.AspNet.SignalR -Version 2.4.0
UPDATE-Package jQuery -Version 1.8.2

ps:刚开始不熟悉时可以使用界面方式下载和更新类库,有一定经验后还是建议使用控制台添加、更新类库这样很方便,由于使用控制台需要知道类库的准确ID,可以到http://www.nuget.org/packages这里去查找,把自己常用的ID记录下方便以后使用

下一篇详细介绍下如何从零开始搭建自己的NuGet服务器及发布自己的类库到服务器

注:此文章属懒惰的肥兔原创,版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接

若您觉得这篇文章还不错请点击下右下角的推荐,有了您的支持才能激发作者更大的写作热情,非常感谢。

转载于:https://www.cnblogs.com/li150dan/p/9523517.html

NuGet学习笔记(1) 初识NuGet及快速安装使用相关推荐

  1. NuGet学习笔记(1)——初识NuGet及快速安装使用

    关于NuGet园子里已经有不少介绍及使用经验,本文仅作为自己研究学习NuGet一个记录. 初次认识NuGet是在去年把项目升级为MVC3的时候,当时看到工具菜单多一项Library Package M ...

  2. NuGet学习笔记(2) 使用图形化界面打包自己的类库

    上文NuGet学习笔记(1) 初识NuGet及快速安装使用说到NuGet相对于我们最重要的功能是能够搭建自己的NuGet服务器,实现公司内部类库的轻松共享更新.在安装好NuGet扩展后,我们已经能够通 ...

  3. NuGet学习笔记(2) 使用图形化界面打包自己的类库[转]

    http://www.cnblogs.com/lzrabbit/archive/2012/05/01/2477607.html 上文NuGet学习笔记(1) 初识NuGet及快速安装使用说到NuGet ...

  4. 【转】NuGet学习笔记(2)——使用图形化界面打包自己的类库

    上文NuGet学习笔记(1) 初识NuGet及快速安装使用说到NuGet相对于我们最重要的功能是能够搭建自己的NuGet服务器,实现公司内部类库的轻松共享更新.在安装好NuGet扩展后,我们已经能够通 ...

  5. NuGet学习笔记(2)——使用图形化界面打包自己的类库

    上文NuGet学习笔记(1) 初识NuGet及快速安装使用说到NuGet相对于我们最重要的功能是能够搭建自己的NuGet服务器,实现公司内部类库的轻松共享更新.在安装好NuGet扩展后,我们已经能够通 ...

  6. NuGet学习笔记(转)

    NuGet学习笔记(1)--初识NuGet及快速安装使用 http://kb.cnblogs.com/page/143190/ 1. NuGet是什么? NuGet is a Visual Studi ...

  7. NuGet学习笔记(3) 搭建属于自己的NuGet服务器

    文章导读 创建NuGetServer Web站点 发布站点到IIS 添加本地站点到包包数据源 在上一篇NuGet学习笔记(2) 使用图形化界面打包自己的类库 中讲解了如何打包自己的类库,接下来进行最重 ...

  8. C语言学习笔记-P1 初识C语言(2)

    C语言学习笔记-P1 初识C语言(2) C语言学习笔记-P1 初识C语言(2) 一.常量 1.字面常量 2.const修饰的常变量 3.#define定义的标识符常量 3.枚举常量 二.字符串+转义字 ...

  9. TensorFlow学习笔记(二):快速理解Tutorial第一个例子-MNIST机器学习入门 标签: 机器学习SoftmaxTensorFlow教程 2016-08-02 22:12 3729人阅

    TensorFlow学习笔记(二):快速理解Tutorial第一个例子-MNIST机器学习入门 标签: 机器学习SoftmaxTensorFlow教程 2016-08-02 22:12 3729人阅读 ...

最新文章

  1. java 异常_Java 进阶之异常处理
  2. Java并发学习之玩转线程池
  3. Angular-Ui-Router+ocLazyLoad动态加载脚本
  4. optee3.16.0 qemu_v8的环境搭建篇(ubuntu20.10)
  5. POJ 3279(Fliptile)题解
  6. 用python随机画多个圆_Python Pygame随机绘制不重叠的圆圈
  7. 理解进程调度时机跟踪分析进程调度与进程切换的过程
  8. python实现不使用额外的空间判断输入数字是否是回文数
  9. kaptcha——谷歌验证码工具
  10. 赫/哈/霍 夫曼(Huffman)编码 游程编码
  11. 汽车制动能量回收系统仿真模型
  12. pcb地线应该不应该做成环路_电源PCB设计流程及要点全解析
  13. Unity URP中根据深度重建世界坐标
  14. matlab数据库开发教程pdf,Matlab数据库编程入门.pdf
  15. 计算机科学与技术审核评估专家,中国农业大学 业务动态 审核评估专家Sir Timothy深度走访网络技术中心...
  16. 圣诞表白html,Pyhton表白代码——浪漫圣诞节
  17. ssms 导出mysql_怎样使用SSMS管理器导出数据表 用SSMS管理器导出数据表的方法
  18. supersu-v2.8.2.zip_术业有专攻:ZIP文件操作模块zipfile
  19. 成功人士每天早上的15个习惯
  20. Filecoin投资者自白:我承认含有赌的成分

热门文章

  1. Ubuntu 安装 Etcd
  2. Linux shell 学习笔记(10)— 处理用户输入(命令行读取参数、读取用户输入、超时处理)
  3. python中的raw string的使用
  4. 【软件工程】RUP与软件开发5大模型
  5. Apriori算法通俗详解_fpgrowth_关联
  6. 基于短语的统计机器翻(PBMT) 开源工具 :Moses
  7. MegEngine亚线性显存优化
  8. 使用Runtime执行推理(C++)
  9. 自动驾驶十字路口解决方案
  10. TSR交通标志检测与识别