• 引言

什么是NuGet?
Nuget是 ASP .NET Gallery 的一员。NuGet 是免费、开源的包管理开发工具,专注于在 .NET 应用开发过程中,简单地合并第三方的组件库。
当需要分享开发的工具或是库,需要建立一个Nuget package,然后把这个package放到Nuget的站点。如果想要使用别人已经开发好的工具或是库,只需要从站点获得这个package,并且安装到自己的Visual Studio项目或是解决方案里。
NuGet能更方便地把一些dll和文件(如jquery)添加到项目中,而不需要从文件中复制拷贝。

  • 确认NuGet客户端已安装

  首先需要确认NuGet是否安装,NuGet是一个扩展插件,以VS2012为例客户端的安装方法如下

【工具】-【扩展和更新】

  正常情况VS2012已经预先安装了 NuGet程序包管理器。 否则需要手动在【联机】搜素NuGet.Manager

  

  • 引用程序包

  NuGet插件确认安装后,这时候就可以选择程序包了,也就是引用咱们需要的DLL了。

  【工具】-【NuGet程序包管理器】-【管理解决方案的NuGet程序包】

  

  选择左边第一个菜单,中间区域就是已经安装的程序包列表,换句话说就是已经引用的所有动态库列表。

  

  在中间区域选择一个程序包,出现【管理】按钮,点击看看什么效果,哇,是解决方案里所有的项目工程,打着勾的就是引用这个动态库的项目工程,想让其他项目工程引用这  个动态库就打上勾就可以啦,是不是很简单,不用在四处找引用路径了。

  

  回来说第二个菜单,【联机】这是查找程序包的地方,下图中左边子菜单mynuget是我在本地配置的程序包源,nuget.org是官方提供的在线共享程序包源,大部分常用的程  序包可以在线搜索到,而且也很好理解,我就不介绍了,主要介绍怎么自己配置程序包源。下面先说程序包源找了怎么安装。

  

  很简单,选择中间区域我们查找到的程序包,如下图,会出现【安装】按钮

  

  点击【安装】,放心点击,这时不会自动引用到项目上。

  

  点击后,看到了上图了吧,就会出现让你选择项目,这时你勾上哪些项目,这些项目就引用了,到此咱们的目的就达到了,引用到所需要的DLL了。

  • 手动制作程序包

  怎么手动配置本地NuGet程序包源,为什么要这么做,当然是更好的管理项目,有三个原因:(1)让不同的人有相同的而且唯一的一个地方快速的找到程序包;(2)相同解  决方案下,不会出现项目引用版本不一致的情况(因为时间不同,人员不同,交接不利,总会出现这种情况。)(3)统一管理的其他好处,应有尽有。

  首先,需要知道程序包源是什么东东?程序包不是单纯一个DLL,它是.nupkg结尾的一个压缩包,里面除了包含DLL外,还可能包含其他的配置文件或环境信息。制作这个压缩  包,需要下载一个工具:NuGetPackageExplorer.application

  下载地址https://npe.codeplex.com/downloads/get/clickOnce/NuGetPackageExplorer.application

  下载完成后点击安装,这是一个在线安装客户端,等自动下载安装完成后,从开始菜单找到

  NuGet Package Explorer

  

  点击NuGet Package Explorer,工具主界面如下

  

  有四个选项,从上到下依次是打开本地程序包、打开在线源程序包、创建一个新的程序包、阅读NuGet文档。

  我们选择第三个【创建一个新的程序包】,效果如下

  

  功能很多,我只简单介绍只打包DLL,上图里左边区域就是要打包的版本信息,点击上面的小笔头,可以编辑这些信息。

  

  一般情况下,填上这4个就够用了,单词很简单,就是字面意思,ID、版本号、作者、描述。

  编辑好后打对勾就可以了,这时候需要选择DLL了,这也是我们最关心的了。

  先添加一个Lib Folder,这是必须的否则打包后引用会不成功的,换言之,DLL是需要放在此里面的。

  

  然后,添加现有的DLL了。

  

  因为NPOI是一组DLL,所有选择四个DLL。

  

  点击【打开】,效果如下

  

  这时,就完成一个简单的程序包了,别看简单,大部分情况,就这么简单就够用了。

  接下来就是发布了。

  当然也可以发布到在线资源上,比如https://www.nuget.org,也可以是咱们自己搭建的服务器上,下面一会我就说怎么搭建服务器。先简单介绍一下发布界面。

  

  

  发布地址:就是程序包服务所在地址,发布Key:是程序包服务配置,这个是下面就会说到。

  • 搭建服务器

  创建空的Web应用程序

  

  添加在线程序包,nuget.server

  

  安装nuget.server完成后,运行网站,提示错误如下

  

  然后移除报错的这个引用

  

  然后重新生成,运行即可,效果如下

  

  此时还需要打开web.config

  

  填充上value值,这个值作为发布程序包时使用,这个Key值就任意生成个GUID即可

  

  然后发布网站,此时注意发布到IIS的根目录下,打开网站地址,测试成功!

  

  服务器搭建好了,程序包也上传了,那接下来就是怎么在VS里面配置这个服务器地址了。

  

  

  注意!上面说我的地址是http://localhost/,这个地方配置时要加上/nuget。这是调用的接口地址了。配置好后,点击【确定】。

  这时,我们返回刚开始介绍时,【联网】选择程序包。

  

  

  找到我们刚打包上传的NPOI,然后安装就可以了,大功告成!以后再也不担心找不到DLL,或者版本的问题了等等等等……

  相关源码及说明文档

  NuGet.rar

  各位观主,如果能提供帮助一二,请关注,看在博主辛苦码字,毫无保留的提供word说明文档的份上请留下您宝贵的意见。

  注意,如果转载请注明出处,谢谢。

  参考博文

  http://www.cnblogs.com/artwl/archive/2011/06/30/2094342.html

转自:http://www.cnblogs.com/frankieyou/p/5226517.html

NuGet使用简要说明的更多相关文章

  1. .NET Core 系列5 :使用 Nuget打包类库

    NuGet是个开源项目,项目包括 NuGet VS插件/NuGet Explorer/NuGetServer/NuGet命令行等项目,.NET Core项目完全使用Nuget 管理组件之间的依赖关系, ...

  2. 使用 Nuget打包类库

    使用 Nuget打包类库 NuGet是个开源项目,项目包括 NuGet VS插件/NuGet Explorer/NuGetServer/NuGet命令行等项目,.NET Core项目完全使用Nuget ...

  3. Nuget(BagGet)使用教程

    Nuget(BagGet)使用教程 1. 服务器安装ASP.NET Core 网上有很多教程,不多讲,链接给你:https://www.cnblogs.com/Agui520/p/8331499.ht ...

  4. [Visual Studio] NuGet发布自定义包(Library Package)

    源文章:dax.net http://www.cnblogs.com/daxnet/archive/2013/05/07/3064577.html 使用NuGet发布自己的类库包(Library Pa ...

  5. 使用Nuget发布自己的类库包

    NuGet是一个为大家所熟知的Visual Studio扩展,通过这个扩展,开发人员可以非常方便地在Visual Studio中安装或更新项目中所需要的第三方组件,同时也可以通过NuGet来安装一些V ...

  6. 基于 Vue.js 之 iView UI 框架非工程化实践记要 使用 Newtonsoft.Json 操作 JSON 字符串 基于.net core实现项目自动编译、并生成nuget包 webpack + vue 在dev和production模式下的小小区别 这样入门asp.net core 之 静态文件 这样入门asp.net core,如何

    基于 Vue.js 之 iView UI 框架非工程化实践记要   像我们平日里做惯了 Java 或者 .NET 这种后端程序员,对于前端的认识还常常停留在 jQuery 时代,包括其插件在需要时就引 ...

  7. NuGet镜像上线试运行

    为解决国内访问NuGet服务器速度不稳定的问题,我们用阿里云服务器搭建了一个NuGet镜像,目前已上线试运行. 使用NuGet镜像源的方法如下: 1)NuGet镜像源地址:https://nuget. ...

  8. 通过ProGet搭建一个内部的Nuget服务器

    .NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以 ...

  9. 如何在nuget上传自己的包+搭建自己公司的NuGet服务器(新方法)

    运维相关:http://www.cnblogs.com/dunitian/p/4822808.html#iis 先注册一个nuget账号https://www.nuget.org/ 下载并安装一下Nu ...

随机推荐

  1. MVC 下 使用MvcPager分页控件

    先去下载 mvcpage http://mvcpager.codeplex.com/releases/view/64098只需要一个 MvcPager.dll文件即可 然后引用MvcPager.dll ...

  2. AutoLayout的三种设置方式之——NSLayoutConstraint代码篇

    AutoLayout是从IOS 6开始苹果引入来取代autoresizing的新的布局技术,该技术有三种设置方式,等下我来为大家一一叙述一下. 在说三种设置方式前,我们先简单的说一下autolayou ...

  3. Matlab摄像头标定得出的参数保存为xml

    最近在做双摄像头的立体匹配,发现OpenCV定标效果不如MatLab的效果,于是用MatLab标定箱做标定,将得到的结果保存为xml,然后,提供给opencv使用.MatLab标定箱做标定得到的结果如 ...

  4. 什么是GPX

    GPX(GPS eXchange Format, GPS交换格式)是一个XML格式,为应用软件设计的通用GPS数据格式. 它可以用来描述路点.轨迹.路程.这个格式是免费的,可以在不需要付任何许可费用的 ...

  5. 3_1 wp8应用生命周期与导航事件[wp8特色开发与编程技巧]

    3_1生命周期 大家好,我是徐文康,今天我们来讨论一下应用程序的生命周期,首先打开app.xaml.cs文件我们可以看到这里有几个已经为我们写好的事件.   Launching 应用程序启动 Acti ...

  6. 经典SQL语句大全 学者必看

    一.基础 .说明:创建数据库 CREATE DATABASE database-name .说明:删除数据库 drop database dbname .说明:备份sql server --- 创建 ...

  7. Java中提供的工具类

    System.arraycopy介绍 (1).System.arraycopy用于拷贝数组 arraycopy(Object src, int srcPos, Object dest, int des ...

  8. WPF 类型“System.ComponentModel.ISupportInitialize”在未被引用的程序集中定义。

    问题:类型“System.ComponentModel.ISupportInitialize”在未被引用的程序集中定义.必须添加对程序集“System, Version=4.0.0.0, Cultur ...

  9. JQ 选择器大全

    一.基本选择器 选择器 描 述 返回 示例 #id 根据给定id匹配一个元素 单个元素 $("#test") 选取id为test的元素 .class 根据给定类名匹配一个元素 集合 ...

  10. 51nod 1021 石头归并

    1021 石子归并 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题  收藏  关注 N堆石子摆成一条线.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合 ...