(转)介绍下Nuget在传统Asp.net项目中的使用

简介:

转自http://www.cnblogs.com/n-pei/archive/2011/05/02/2034508.html

 

最近学了不少NuGet的东西,也看了很多它的视频,特别是在MIX11上的视频。

如果我们要在MIX11上评出一个明星的话,你可能会觉得是WP7,或者是SL5,那么你肯定错了,明星肯定是NuGet。因为几乎每个微软演讲的人员都在用NuGet。为什么它会这么受大家欢迎??很简单,它提高了大家做事情得效率,而且使用起来轻松,简单。

 

如果你去Google下nuget说明,你会发现结果如下:

image

基本上没都少文章,而且好多都是我写的那篇文章的转载,声明下,我不是臭美。。。就是觉得如果大家很多人有写它的使用,那么我就不用费劲再去写这些了。特别是很多人都是说明它如何在Asp.net MVC项目中的使用。其实在传统的Asp.net项目中同样好用。

  关于NuGet的基本介绍你可以按我上图给的搜索去找我写的文章,我就不给link了。

 

在进行练习之前,我们先创建一个空的asp.net解决方案,(不是MVC Smile)

 

 

1.添加第三方代码包的使用

传统的添加dll方式,就是下载,解压,然后找到需要添加到项目中的dll,接着添加引用,使用NuGet添加dll就比较简单,首先你可以去Nuget.org去查找是否有你要添加的第三方软件包,例如我们要添加elmah:

image

使用Package Manager Console来添加Elmah。

image

 

除了添加dll,我们也可以添加别的文件,例如我现在创建的是一个空的asp.net解决方案,那么在web工程中我想把jQuery添加进来,项目模板中自带的是1.4的,我想用1.5怎么办呢??直接使用Install-Package Elmah就行了

image

 

现在去写jquery的脚本,你发现没有智能提示,别急,可以使用 Install-Package jquery.vsdoc来安装最新的智能提示包。。

 

 

2.如何创建本地引用

创建本地引用比较简单了,例如,我们刚才已经添加了几个安装包,那么你可以在解决方案下看到一个Packages文件夹。本地引用我们就使用它吧。

点击下图所示按钮,进入Setting页面,

image

 

添加一个名字为LocalFeed的本地包源。路径指向上面所说的那个packages文件夹:

image

 

 

在Package Resource中找LocalFeed:

image

 

你可以把这个路径指向任何一个存放nuget 包的地方。。。。。

 

 

3.创建自己公司的NuGet Server.

上面那个方式是使用本地的资源包方式,那么如果是一个大的公司,或者说你公司会提供一个服务器来为你们存放内部的公用dll,传统的大家添加这些公用的dll方式就是从SVN或者其他源码管理工具上拿,也是需要先找到,然后去download,再添加引用进来。

如果有dll进行了更新,其他各个项目组都需要用新的dll,大家都得重复性的下载,添加引用,甚至还得删除掉原来的dll。。。。

这时候创建本地的nuget server就显得有必要了。

如何创建呢???????????????????

 

首先也是创建一个空的asp.net的项目:

image

 

说再安装下Nuget.Server这个包,在nuget官方提供的Feed上就有它。

image

 

安装好以后,在Packages文件夹下放几个nuget的包,然后访问default.aspx:

image

 

在Packages页面你可以看到包含的nuget包,nuget是OData形式的ATOM Feed。如下图:

image

 

 

按照第2点中介绍的把http://localhost:55326/nuget/添加到你的nuget源:

image

 

现在就可以把你们公司共用的dll打包成nuget的包,然后放到这个网站的Packages目录下了。

上面一直介绍NuGet的feed如何自己创建,那么公司内部如何打包nuget呢????

4.如何把代码打包成Nuget包

首先需要去codeplex上下载nuget command line:

image

 

这玩意可是打包利器啊,教大家两种打包方式:

a.直接通过工程文件打包dll:

创建一个类库,然后编译下。把刚才下载的nuget.exe拷贝到工程文件所在的文件夹中:

image

 

通过命令行来创建nuget包:

image

搞定了:

 

image

 

B:使用nuget的spec文件进行打包:

首先你得创建一个nuget的.spec文件:

image

 

在工程中编辑刚才创建的spec文件:

image

 

你可以编辑nuget包的信息,比如作者,版本等等。。。

image

 

另外你也可以在打包时创建两个文件夹,一个是content,一个是tools文件夹。

5.NuGet的高级应用(Scaffold的扩展)

这个部分会是结合powershell和t4模板来一起通过一个类来自动创建增删改查的例子。我准备把源代码放到codeplex上。

 

代码和介绍说明我下周在公司和大家分享nuget后,再把文章和代码已经ppt补上。。。。。。

 

如果你对NuGet感兴趣,可以关注下我,到时候可以随时看到文章更新。Smile



本文转自JustRun博客园博客,原文链接:http://www.cnblogs.com/JustRun1983/archive/2012/09/05/2672228.html,如需转载请自行联系原作者

目录
相关文章
|
18天前
|
数据可视化 网络协议 C#
C#/.NET/.NET Core优秀项目和框架2024年3月简报
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯🔔)。
|
2月前
|
存储 开发框架 NoSQL
ASP.NET WEB——项目中Cookie与Session的用法
ASP.NET WEB——项目中Cookie与Session的用法
36 0
|
2月前
|
开发框架 前端开发 .NET
ASP.NET WEB——项目创建与文件上传操作
ASP.NET WEB——项目创建与文件上传操作
46 0
|
3月前
|
开发框架 安全 .NET
IIS服务器发布ASP.NET项目
对于云服务器,程序员一般不会陌生,如果项目需要发布到现网,那么服务器是必不可缺的一项硬性条件,那么如何在云服务器上部署一个项目,需要做哪些配置准备,下面就由本文档为大家讲解,本篇以IIS服务器发布ASP.NET项目为例。
47 1
|
2月前
|
算法 BI API
C#/.NET/.NET Core优秀项目和框架2024年1月简报
C#/.NET/.NET Core优秀项目和框架2024年1月简报
|
2月前
|
SQL 开发框架 前端开发
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法
34 0
|
3月前
|
数据采集 开发框架 JavaScript
C#/.NET/.NET Core优秀项目和框架2023年12月简报
C#/.NET/.NET Core优秀项目和框架2023年12月简报
|
4月前
|
应用服务中间件 nginx
Angular打包构建项目服务器运行runtime.js、polyfills.js、vendor.js报错net::ERR_ABORTED 404 (Not Found),build修改为相对路径./
Angular打包构建项目服务器运行runtime.js、polyfills.js、vendor.js报错net::ERR_ABORTED 404 (Not Found),build修改为相对路径./
|
4月前
|
开发框架 .NET PHP
Web Deploy配置并使用Visual Studio进行.NET Web项目发布部署
Web Deploy配置并使用Visual Studio进行.NET Web项目发布部署
|
4月前
|
Rust 算法 C#
C#/.NET/.NET Core优秀项目和框架2023年11月简报
C#/.NET/.NET Core优秀项目和框架2023年11月简报