NuGet使用简要说明
- 引言
什么是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,或者版本的问题了等等等等……
相关源码及说明文档
各位观主,如果能提供帮助一二,请关注,看在博主辛苦码字,毫无保留的提供word说明文档的份上请留下您宝贵的意见。
注意,如果转载请注明出处,谢谢。
参考博文
http://www.cnblogs.com/artwl/archive/2011/06/30/2094342.html
转自:http://www.cnblogs.com/frankieyou/p/5226517.html
NuGet使用简要说明的更多相关文章
- .NET Core 系列5 :使用 Nuget打包类库
NuGet是个开源项目,项目包括 NuGet VS插件/NuGet Explorer/NuGetServer/NuGet命令行等项目,.NET Core项目完全使用Nuget 管理组件之间的依赖关系, ...
- 使用 Nuget打包类库
使用 Nuget打包类库 NuGet是个开源项目,项目包括 NuGet VS插件/NuGet Explorer/NuGetServer/NuGet命令行等项目,.NET Core项目完全使用Nuget ...
- Nuget(BagGet)使用教程
Nuget(BagGet)使用教程 1. 服务器安装ASP.NET Core 网上有很多教程,不多讲,链接给你:https://www.cnblogs.com/Agui520/p/8331499.ht ...
- [Visual Studio] NuGet发布自定义包(Library Package)
源文章:dax.net http://www.cnblogs.com/daxnet/archive/2013/05/07/3064577.html 使用NuGet发布自己的类库包(Library Pa ...
- 使用Nuget发布自己的类库包
NuGet是一个为大家所熟知的Visual Studio扩展,通过这个扩展,开发人员可以非常方便地在Visual Studio中安装或更新项目中所需要的第三方组件,同时也可以通过NuGet来安装一些V ...
- 基于 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 时代,包括其插件在需要时就引 ...
- NuGet镜像上线试运行
为解决国内访问NuGet服务器速度不稳定的问题,我们用阿里云服务器搭建了一个NuGet镜像,目前已上线试运行. 使用NuGet镜像源的方法如下: 1)NuGet镜像源地址:https://nuget. ...
- 通过ProGet搭建一个内部的Nuget服务器
.NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中各种组件的引用统统交给NuGet,添加组件/删除组件/以 ...
- 如何在nuget上传自己的包+搭建自己公司的NuGet服务器(新方法)
运维相关:http://www.cnblogs.com/dunitian/p/4822808.html#iis 先注册一个nuget账号https://www.nuget.org/ 下载并安装一下Nu ...
随机推荐
- 2015英特尔® 实感™ (Intel® RealSense™) 动手开发实验课
2015年英特尔® 全球实感技术动手实验课路演来到中国, 这次在中国将有北京和广州两站,包括一天的动手实验室活动 - 面向对感知计算.3D 开发和虚拟现实兴趣浓厚的开发人员.英特尔专家将会指导您如何借 ...
- Chrome JS内存泄漏排查方法(Chrome Profiles)
原文网址:http://blog.csdn.net/kaitiren/article/details/19974269 JS内存泄漏排查方法(Chrome Profiles) Google Ch ...
- 防止服务器被暴力破解使用DenyHosts
公司有台服务器被坏人盯上了,通过日志可以看到一直在做暴力破解ssh. 防止服务器被暴力破解使用DenyHosts 参考链接: 防止ssh破解,Ubuntu安装denyhosts的一些问题 防止你的ss ...
- Lambda表达式的本质是匿名函数
1.委托的简介: 委托可以简单的理解为方法的列表,添加的方法的参数类型,个数,顺序必须和委托一致, 也就是说委托起到了托管方法的作用,并且约束了要调用的方法. //1声明委托 public deleg ...
- MIME类型大全
获取MIME:HttpContext.Current.Request.Files[fileKey].ContentLength MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该 ...
- VC6.0编译boost
今天学习了下VC6.0下boost的编译,只是对regex进行了编译,据说全部编译需要2个多小时,在此记录下学习过程中遇到的问题以便今后查看. 最开始直接从网上(www.boost.org)下载了当前 ...
- <hash命令:显示、添加或清除哈希表>
linux系统下的hash指令: 说明:linux系统下会有一个hash表,当你刚开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样.第一次执行命令s ...
- HIVE中join、semi join、outer join举例详解
转自 http://www.cnblogs.com/xd502djj/archive/2013/01/18/2866662.html 举例子: hive> select * from zz0; ...
- PHP流程控制语句下
ok,继续搞. while循环: while(expr){ 程序块: } 条件expr成立执行程序块,否则结束. do while循环:do while循环比while循环要多循环一次,它要先执行程序 ...
- 笔记 php.ini配置文件中magic_quotes_gpc, magic_quotes_runtime的作用是什么?应该开启还是关闭?
默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET.POST 和 COOKIE 数据自动运行 addslashes().不要对已经被 magic_quotes_gp ...