• 引言

什么是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. webkit常见问题汇总

    前段时间有人问我一个简单的问题,html如何创建解析的? 我讲了一大堆,什么通过DocumentLoader, CachedResourceLoader, CacheResource, Resourc ...

  2. 集合框架学习之Guava Collection

    开源工具包: Guava : Google Collection Apache:Commons Collecton 1.1 Google Collections Guava:google的工程师利用传 ...

  3. 《Cocos2d-x实战 JS卷 Cocos2d-JS开发》上线了

    感谢大家一直以来的支持! 各大商店均开始销售:京东:http://item.jd.com/11659698.html当当:http://product.dangdang.com/23659808.ht ...

  4. Javascript Event

    事件原理 JS的事件原理,先看一段HTML. <html> <head> <title>Example</title> </head> &l ...

  5. CSS制作彩虹效果

    今天看到一篇文章,说到margin的塌陷的问题,并提供了好几个例子. 自己之前还没怎么遇到过这个问题,正好来研究一下. <div class="box1"></d ...

  6. LLVM language 参考手册 翻译停止相关

    再翻译LLVM language 参考手册的时候,个人感觉很多东西都不是很懂,因此打算学习完编译原理后再去继续研究翻译,多有不便望见谅

  7. NDK 通过java调用so文件

    首先我们来看so文件的来源 1. 自己写.c文件,然后生成so库 2. 引用别人的静态库,或者动态库来生成新的jni调用库. 我们先来看最简单的编写一个jni调用的so库,包含一个获取字符串的方法,通 ...

  8. 【风马一族_windom】 批量修改相同文件类型的后缀

    难题:有时因为某种原因,修改一堆文件的类型,重复操作次数多,浪费时间也跟着多,收获也会相当少. 提问:对于软件而言,可量化的,有规律的操作,可以使用程序来进行替代. 特性:在微软操作系统上,不同后缀的 ...

  9. 【风马一族_Android】Android学习

    如果是色彩盲,请自行收藏这个网站:Material Design Color Palette Generator 所有书上的UI部分扫一遍就行了,我相信现在还没有书按material design标准 ...

  10. module graceful-fs for npm

    问题: 今天使用hexo时发现错误,hexo:command not found.于是重新安装hexo.但是在安装好npm后,却发现运行 npm 出现错误,没有找到模块graceful-fs,在纠结了 ...