(转)介绍下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,如需转载请自行联系原作者

目录
相关文章
|
8月前
|
开发框架 前端开发 .NET
一个适用于 .NET 的开源整洁架构项目模板
一个适用于 .NET 的开源整洁架构项目模板
144 26
|
8月前
|
开发框架 安全 .NET
【Azure Developer】.NET Aspire 项目本地调试遇 Grpc.Core.RpcException 异常( Error starting gRPC call ... )
Error starting gRPC call. HttpRequestException: The SSL connection could not be established, see inner exception. AuthenticationException: The remote certificate is invalid because of errors in the certificate chain: UntrustedRoot
168 12
|
7月前
|
传感器 人工智能 机器人
D1net阅闻|OpenAI机器人项目招新 或自研传感器
D1net阅闻|OpenAI机器人项目招新 或自研传感器
|
9月前
|
弹性计算 开发框架 安全
基于云效 Windows 构建环境和 Nuget 制品仓库进行 .Net 应用开发
本文将基于云效 Flow 流水线 Windows 构建环境和云效 Packages Nuget 制品仓库手把手教你如何开发并部署一个 .NET 应用,从环境搭建到实战应用发布的详细教程,帮助你掌握 .NET 开发的核心技能。
|
10月前
|
开发框架 网络协议 .NET
C#/.NET/.NET Core优秀项目和框架2024年10月简报
C#/.NET/.NET Core优秀项目和框架2024年10月简报
308 3
|
11月前
|
开发框架 前端开发 API
C#/.NET/.NET Core优秀项目和框架2024年9月简报
C#/.NET/.NET Core优秀项目和框架2024年9月简报
191 1
|
12月前
|
开发框架 .NET C#
VSCode开发.net项目时调试无效
【9月更文挑战第22天】在使用 VSCode 开发 .NET 项目时遇到调试问题,可从项目配置、调试配置、调试器安装、运行环境、日志和错误信息等方面排查。确认项目类型及文件配置,检查 `launch.json` 文件及配置项,确保调试器扩展已安装并启用,验证 .NET 运行时版本和环境变量,查看 VSCode 输出窗口和项目日志文件,检查权限及代码错误。若问题仍未解决,可查阅官方文档或社区论坛。
394 4
|
12月前
|
C#
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
本文讨论了在基于.NET 6和.NET Framework的WinForms项目中添加图表控件的不同方法。由于.NET 6的WinForms项目默认不包含Chart控件,可以通过NuGet包管理器安装如ScottPlot等图表插件。而对于基于.NET Framework的WinForms项目,Chart控件是默认存在的,也可以通过NuGet安装额外的图表插件,例如LiveCharts。文中提供了通过NuGet添加图表控件的步骤和截图说明。
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
|
jenkins 测试技术 持续交付
解锁.NET项目高效秘籍:从理论迷雾到实践巅峰,持续集成与自动化测试如何悄然改变游戏规则?
【8月更文挑战第28天】在软件开发领域,持续集成(CI)与自动化测试已成为提升效率和质量的关键工具。尤其在.NET项目中,二者的结合能显著提高开发速度并保证软件稳定性。本文将从理论到实践,详细介绍CI与自动化测试的重要性,并以ASP.NET Core Web API项目为例,演示如何使用Jenkins和NUnit实现自动化构建与测试。每次代码提交后,Jenkins自动触发构建流程,通过编译和运行NUnit测试确保代码质量。这种方式不仅节省了时间,还能快速发现并解决问题,推动.NET项目开发迈向更高水平。
121 8
|
11月前
|
存储 消息中间件 前端开发
.NET常见的几种项目架构模式,你知道几种?
.NET常见的几种项目架构模式,你知道几种?
299 0

热门文章

最新文章