当前位置: 首页 > news >正文

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服务器及发布自己的类库到服务器。

转载于:https://www.cnblogs.com/sandyliu1999/p/4922828.html

相关文章:

  • 网站优化之基本要素
  • Git 使用指南
  • Android ndk移植c库libpng
  • struts2拦截器的实现原理及源码剖析
  • 前端代码标准最佳实践:javascript篇
  • Android GPS GPSBasics project hacking
  • Touch Handling in Cocos2D 3.x(一)
  • Tab与TabHost转
  • 路由器设置之五种接入方法
  • jConsole,jvisualvm和jmap使用
  • 创建索引
  • 总结概括对于大数据、高并发的网站如何进行优化的问题
  • NAT
  • javascript设计模式实践之代理模式--图片预加载
  • 数据库开发基本操作-Microsoft SQL Server Management Studio Express下载和安装
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 77. Combinations
  • co模块的前端实现
  • Cumulo 的 ClojureScript 模块已经成型
  • Electron入门介绍
  • es6
  • js如何打印object对象
  • laravel with 查询列表限制条数
  • MySQL-事务管理(基础)
  • Nacos系列:Nacos的Java SDK使用
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Python爬虫--- 1.3 BS4库的解析器
  • 从输入URL到页面加载发生了什么
  • 大数据与云计算学习:数据分析(二)
  • 前端学习笔记之观察者模式
  • 时间复杂度与空间复杂度分析
  • 实现简单的正则表达式引擎
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 智能网联汽车信息安全
  • mysql面试题分组并合并列
  • ​​​【收录 Hello 算法】9.4 小结
  • ​io --- 处理流的核心工具​
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​zookeeper集群配置与启动
  • #微信小程序(布局、渲染层基础知识)
  • (06)Hive——正则表达式
  • (1)bark-ml
  • (70min)字节暑假实习二面(已挂)
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (LeetCode 49)Anagrams
  • (python)数据结构---字典
  • (分布式缓存)Redis分片集群
  • (已解决)什么是vue导航守卫
  • *Django中的Ajax 纯js的书写样式1
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .bat文件调用java类的main方法
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET 设计模式初探
  • .net 提取注释生成API文档 帮助文档
  • .net 托管代码与非托管代码