【转】NuGet学习笔记

  关于NuGet园子里已经有很多介绍及使用经验,本文仅做为本身研究学习NuGet一个记录。html

  初次认识NuGet是在去年把项目升级为MVC3的时候,当时看到工具菜单多一项Library Package Manager,右键项目文件多了一项Manage Nuget Packages...,这是个神马玩意儿,当时是一头雾水,后台查了些资料才知到NuGet是 Visual Studio的一个扩展,引用dudu的话来讲就是管理程序的包包,能够参考msdn上这篇文章使用 NuGet 管理项目库以及我们博客园站长dudu写的程序员,用NuGet管理好你的类库,有些相似java中经常使用的maven  java

  为何要使用NuGet程序员

  简单的说NuGet能够是咱们的工做更方便,当咱们的项目里要引用到的一些库时候,好比JQuery、Newtonsoft.Json、log4net等,咱们须要从网上下载这些库,而后依次拷贝到各个项目中,当有的类库有更新时又不得再也不重复一遍非常繁琐 ,这时就能够考虑使用NuGet来帮咱们管理和更新这些类库,并且更新类库时会自动添加类库的相关引用,方便至极。固然网上一些咱们经常使用的类库更新频率不是很高并且即使出了新版本咱们也不必老是保持最新,故这点对咱们的帮助比较有限,我的认为NuGet最大的好处在于能够搭建本身的类库服务器,想一想一下吧,在一些较大些的公司里面有不少的项目,而后其中有一些是整个组,甚至整个公司通用的类库,当这些类库有更新后咱们须要依次拷贝到咱们的项目,甚至于有时候咱们本身都搞不清楚各个项目里的版本是否一致,有时偶尔一两个项目忘了复制更新出现莫名其妙的错误,为此头疼不已,如今有了NuGet,世界今后而不一样。web

  安装NuGet扩展服务器

  要使用NuGet首先须要安装它(在安装了MVC3的系统上已自动安装了NuGet)app

  1. 点击 工具-->扩展管理器(R)...-->右上角搜索框输入NuGetmaven

  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相对于咱们最重要的功能是可以搭建本身的NuGet服务器,实现公司内部类库的轻松共享更新。在安装好NuGet扩展后,咱们已经可以经过NuGet轻松下载本身须要的类库,下面来讲一说如何将本身的项目类库进行打包发布

  使用图形界面打包本身的类库

  NuGet可使用NuGet.exe在命令行下进行类库打包,也可使用图形化界面进行打包,估计不少朋友都和我同样对不熟悉的命令行有些感冒,因此在此仅讲述下使用图形化界面进行类库打包

  1. 首先下载 包包管理器 NuGetPackageExplorer,顾名思义,包包管理器能够用来建立新的类库包,也能够浏览已经建立好的类库包

  2. 下载完成后,双击 NuGetPackageExplorer.application 进行安装,安装完成后会在桌面上生成一个NuGet Package Explorer 的快捷方式

 

  3. 双击NuGet Package Explorer出现启动界面,选择Create a new package(Ctrl+N)建立一个新包

  4. 选择菜单 Edit > Edit Package Metadata (或者 CTRL + K) 编辑包包信息

  这里能够编辑类库包的信息和添加类库、程序集的引用解释下几个比较重要的字段

  Id:用于定位类库包的惟一标示,如在命令行下执行 Install-Package MyPackage 这里的MyPackage就是包包的Id值

  Version:类库的版本号,这里建议和程序集的真实版本号保持一致,以避免发生混淆

  Dependencies:此类库依赖的程序集,根据实际状况添加依赖类库的Id和版本号,若无留空便可,这里须要注意下填写的依赖类库须要在NuGet服务器上能找到,不然没法完成自动引用添加

  Framework assemblies:依赖的Framework 程序集,根据实际须要选择便可,通常无需设置

  除以上四项之外其余属性根据实际状况修改便可,若本身用不修改也中,不过为了使用方便仍是建议把类库描述(Description)填写下

  5. 编辑好包包信息后接下来添加DLL到包包中

  能够选择 右键-->Add Existinng File... 选择dll添加,也能够直接拖拽DLL到 Package contents 窗口,此例选择拖拽方式

  直接拖拽dll到窗口后,会出现提示:是否将 Winista.HtmlParser.dll放到lib 文件夹下,通常咱们选择是

  6. DLL添加完成后,快捷键Ctrl + K 修改包包信息Id为Winista.HtmlParser,版本号为1.8.0

  7. 信息修改和dll都添加完毕后,选择File --> Save(或Ctrl + S)将文件进行保存,默认文件名为Id + 版本号.nupkg

  8. 完成保存后如须要发布到网上,选择File--> Publish...(或Ctrl + P)

  默认的发布地址是官网,发布 Key须要到官网去注册一个帐号,而后就能够获得,这里不在复述,若无需发布直接关闭便可

  ps:这里没有讲述如何打包项目文件,通常状况下咱们本身将项目文件编译成DLL而后使用图形化界面打包便可知足需求,若实际工做须要高度集成彻底自动化操做可自行去研究下官方文档http://docs.nuget.org/

  添加DLL默认会添加Lib文件夹,额外的菜单上还有不少.net文件夹,src等文件夹,这些文件夹只是对文件上的一个物理上的划分而已,只是为了帮助咱们作好文件分类,没有其余的用途,dll文件能够随便放置,不过为了规范仍是建议按照一般习惯来放置。

相关文章
相关标签/搜索