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 ...
随机推荐
- C#时间格式 tostring、toshortdatestring、toshorttimestring
在c#语言中的时间处理有几种方式: 首先获取当前时间:var date=new DateTime.Now; date.ToString()----2111-1-20 11:44:47 date.ToS ...
- 20141128—JavaScript对象
JavaScript 中的所有事物都是对象:字符串.数值.数组.函数... String 对象的 length 属性来获得字符串的长度: var message="Hello World!& ...
- SQL学习备忘
1.按照拼音首字母的正序或倒序排序 SELECT CREATOR_REALNAME FROM tableName ORDER BY NLSSORT(CREATOR_REALNAME, 'NLS_SOR ...
- ThinkPHP快速入门
ThinkPHP快速入门 1.ThinkPHP自动生成 当我们部署完ThinkPHP框架后,其会自动生成Application文件夹,如下图所示: 2.自动生成细节分析 问题1:Application ...
- 《linux源代码包的编译安装》RHEL6
linux下源代码包的编译安装其实没那么复杂. 我是win7系统装的虚拟机,就简单说下: 举个简单的例子: http://www.openssl.org/ 这是openssl的官网,下载openssl ...
- WebStorm 快捷键收藏
快捷键 Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者/-/ ) Ctrl+X 或 Ctrl+Y 删除一行 Shift+F6 重构-重命名 Alt+~vcs操作 Alt+~ 7关闭重 ...
- PHP性能优化-编译级别的缓存
最近安装了 php5.6,发现有了 opcache.so扩展文件,于是,搜索了一下,发现 zend opcache已经融入到 ph5.5以上的版本了,即兴奋,不用再去找xcache,apc,eAcce ...
- Python 的列表解析和生成表达式的异同
Python中的列表解析和生成表达式是非常好的特性,他们的形式相似,但是应用场景不太一样. 相似点 列表解析和生成表达式最大的相似点是使用形式: [expr for iter_var in ite ...
- 【转】Mac 上 java 究竟在哪里,本文彻底让你搞清楚!
这篇文章可能比较适合那些在经常在Mac下进行Java编程开发,或者经常使用Java工具的朋友.不关心Java或者不了解Java的朋友可以绕过本文哈~ 1. Mac下当你在[终端]输入java -ver ...
- Windows Server 2008 R2 64bit兼容Chrome浏览器
近日更换系统Windows Server 2008 R2 64bit系统,发现谷歌浏览器插件无法正常运行,终于找到如下解决方案: 打开桌面谷歌浏览器属性,将target目标 C:\Users\Admi ...