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 ...
随机推荐
- ubuntu 删除除了某个文件或文件夹之外的所有文件或者目录
今天需要将网站根目录下的所有文件全部删除但是还需要保留phpmyadmin这个文件夹,本来是可以一个一个删除的,后来想应该会有 一个命令是可以用一个命令删除除了phpmyadmin之外的所有文件和文件 ...
- Ajax Array Json 示例
function functionName(){ var list=new Array(); $("td.classA").each(function(){ list.push($ ...
- 利用 NUget包 EPPlus 实现数据导出到Excel(适用于MVC)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAvoAAABpCAIAAADEEBBGAAAJdElEQVR4nO3cy2ob5wLA8TxKnqTrrr
- WCF之事务
2阶段提交协议. 事务先提交给协调者,由协调者分发给各个RM,在一段规定的时间后.由RM询问各个RM是否提交还是终止操作.RM根据自己的状态来决定提交/终止.协调者根据RM的结果,决定操作的提交/终止 ...
- 移动端边框1px的实现
查看京东的移动端1px实现原理,用的是:after和css3的scale(0.5)缩放. border-right fr:after{ height:100%; content:' '; width: ...
- 10款基于HTML5+CSS3实现的超酷源码动画
1.基于Bootstrap的jQuery登录表单 这是一款基于Bootstrap的登录表单,表单的外观自然不用说,沿用了Bootstrap的风格,非常漂亮.这款登录表单有一个经过CSS3处理过的头像图 ...
- Centos文本方式安装情况下lvm分区的创建
作者:马 岩(Furzoom) (http://www.cnblogs.com/furzoom/)版权声明:本文的版权归作者与博客园共同所有.转载时请在明显地方注明本文的详细链接,未经作者同意请不要删 ...
- Markdown 使用说明
使用说明 ========= @[手册|帮助|Markdown] - **马克飞象**是一款专为印象笔记打造的Markdown编辑器. - 特别需要说明的一点是增加了`@(笔记本)[标签]`语法,以此 ...
- C# WinForm设置TreeView选中节点
这里假定只有两级节点,多级方法类似.遍历节点,根据选中节点文本找到要选中的节点.treeView.SelectedNode = selectNode; /// <summary> /// ...
- C#各种常用开源框架-支持开源!分享!
下面罗列了开发及学习过程中所涉及的开源类库的列表! AForge.NET Accord.NET NAudio nVLC Speex C# WebServer FFmpeg FFmpeg.NET Flo ...