第五周的NuGet软件包 – 使用Glimpse调试ASP.NET MVC应用程序

[原文发表地址] NuGet Package of the Week #5 – Debugging ASP.NET MVC applications with Glimpse [原文发表时间] 2011-04-19 02:39 PM 您实施了NuGet行动计划吗?行动起来吧,它只需5分钟: NuGet行动计划——升级到1.3版本,安装自动更新,获取NuGet 软件包浏览器。NuGet 1.3已经发布了,请确认你设置了自动更新。 故事背景:我正在思考既然NuGet.Net软件包管理网站开始逐渐充实,那么我应该开始在那寻找宝石了(没有双关含义)。您知道,就是那种大家可能没有发现的真正有用的东西。我将主要寻找开放源代码项目——我认为它们很有用。我会查看它们如何生成NuGet软件包,看看它们设计开箱体验(out of the box experience)时有没有什么有趣的地方(以及任何它们可以改进的举措),当然也会关注软件包本身所做的事。 服务器内的客户端Glimpse 除了在实施时使用JavaScript的客户端与使用ASP.NET的服务器端挂钩之外,Glimpse就像是FireBug客户端的调试器。 Glimpse不仅包括比Phil Haack的原始路径调试器更好的技术支持,也能很好地支持使用很少但非常有用的Trace.Write()。 我们可以在实际使用中查看。你现在可跟着我做,只需不到5分钟。 在一个新建的ASP.NET MVC应用程序中(或WebForms,也是这样),安装 Glimpse。 运行我的应用程序前,我会先稍微提一下 Trace.Write Trace和Trace.Error,仅为了说明一下。 1: public ActionResult Index() 2: { 3: ViewBag.Message = “Welcome to ASP.NET MVC!”; 4: Trace.Write(“Hey, this is…

0

Visual Studio 2008的NuGet支持

[原文发表地址]NuGet Support for Visual Studio 2008 [原文发表时间]2011-08-10 15:05 好吧,不完全是。标题更好点的话应该是“如何用外部工具和Prayer组装起Visual Studio 2008的NuGet支持”。关键在于,许多使用Visual Studio 2008的同仁们都希望有NuGet的支持。我全力探索这个领域,发现有很多方法可以实现,有些很困难,而有些则相对简单些。想法应该是用最少的精力来完成最多的事情。如果社区中有同仁认为这个很重要,并愿意去实现它的话,我会非常高兴的。当然,最简单的莫过于使用2010,因为它还支持.NET 2.0,3.0,3.5和4,但是不是每个人都能升级的。 有些人可以: l 将现有的NuGet包引用对话框反向至2008,使用那个版本的本地扩展(不是VsiX) l 为nuget.exe命令行创建MEF(管理扩展性框架)插件,以在vbproj或者csproj中更新相关内容 l 使用PowerShell脚本,批处理文件,使最基础的东西运行(获取包,更新相关内容)。 ² 也许可以写个垫片来使DTE自动运行 但那只是一种可能性和猜测。我们来讨论看看MacGyver的解决方案。 运行Visual Studio 2008,找到 工具|外部工具。 用下列值生成新的工具: l 标题:NuGet安装 l 命令(我假设这存在于路径中):nuget.exe l 参数:安装 your.package.name-excludeversion-outputDirectory.\Packages l 初始目录:$(SolutionDir) l 使用输出窗口:Checked l 参数提示:Checked 下一步,在工具栏区域右击,创建一个新的工具条命名为NuGet。从命令中,拉出正确的 工具|外部工具 按钮。右击,用作设计: 现在,当你点击安装包时,你可以更改your.package.name,随你喜欢,然后点击确定。注意下面操控窗口的输出。 此时,由于我们只是集成了命令行,所以你不能得到自动添加的引用。那么包又在哪里呢?好吧,它们在这儿,在Packages目录中。要不要添加引用取决于你,只要你觉得适合就好(我在这儿再次提醒你参阅上述的列表)。 如果你觉得很新奇,你还可以在工具栏中添加一些宏和链接,让你方便前往NuGet网站去搜索。这里提供一个Visual Studio 2008宏,将启动默认web浏览器并带你前往http://www.nuget.org/List/Packages。 1: Public Module NuGet 2:…

0

第11周NuGet包——ImageResizer让你在ASP.NET中实现干净清晰的图像大小调整

[原文发表地址]   NuGet Package of Week #11 – ImageResizer enables clean, clear image resizing in ASP.NET [原文发表时间]   2011-10-31 23:57 背景故事:既然NuGet .NET包管理网站已经开始建立了,我就想应该在那寻找一些宝贝了。否则大家无法找到真正有用的东西。我会找大多开放源项目,那些我认为有用的东西。我会看看他们是怎么建立他们的NuGet包的,其中是不是有什么很有趣的盒外设计方法(或者可以改进的东西),还有那些包可以实现什么。今天,我要说的就是ImageResizer。 Bertrand Le Roy一直倡导在.NET上正确地调整图像大小,尤其是在ASP.NET上。上周,他发表了一篇有关新库的选择方案的博文,这个库是完全的.NET风格,只需中等信任。这就是“imageresizer”。多有创意的名字啊! 说真的,这不简单。以下是Bertrand博客中的很棒的例子,展示了如何直接使用imageresizer以流字节方式来调整JPEG大小。 1: var settings = new ResizeSettings { 2: MaxWidth = thumbnailSize, 3: MaxHeight = thumbnailSize, 4: Format = "jpg" 5: }; 6: settings.Add("quality", quality.ToString()); 7: ImageBuilder.Current.Build(inStream, outStream, settings); 8: resized =…

0

第七周的NuGet 软件包——有SQL Server Compact的ELMAH(错误日志模块和处理程序)

[原文发表地址]   NuGet Package of the Week #7 – ELMAH (Error Logging Modules and Handlers) with SQL Server Compact [原文发表时间]   2011-05-23 15:03 您实施了NuGet行动计划吗?行动起来吧,它只需5分钟: NuGet行动计划——升级到1.3版本,安装自动更新,获取NuGet 软件包浏览器。NuGet 1.3已经发布了,请确认你设置了自动更新。 故事背景:我正在思考既然NuGet.Net软件包管理网站开始逐渐充实,那么我应该开始在那寻找宝石了(没有双关含义)。您知道,就是那种大家可能没有发现的真正有用的东西。我将主要寻找开放源代码项目——我认为它们很有用。我会查看它们如何生成NuGet软件包,看看它们设计开箱体验(out of the box experience)时有没有什么有趣的地方(以及任何它们可以改进的举措),当然也会关注软件包本身所做的事。 这周的本周程序包是”ELMAH 1.2 with SQL Compact.” 你可能已经使用ELMAH。现在不要停下不读了,因为你会需要这些信息的。 到现在,我已经写博客和推进ELMAH(错误日志模块和处理程序)好多年了。这是我添加到任何不管多重要的ASP.NET项目的第一个东西。它是ASP.NET开源伟大的妙处之一。 我已经在一些谈话和视频中演示过“install-package elmah”,作为我的指导演示它演示了NuGet和结构良好的OSS软件包如何让你迅速上手。最近,ELMAH团队已经开始重新调整一些软件包,我想展示一下他们的工作,以便你不仅能从中学习,而且在你自己的软件包里也能实现类似的结构。 首先,花几分钟看看ELMAH是怎样工作的,怎样加到你的ASP.NET项目。现在,让我们看看在NuGet.org上的(目前有三个,很快就会有更多)ELMAH软件包。 目前有: ELMAH Core Library (no config)-“没有任何配置的ELMAH的核心库(错误日志模块和处理程序)“, o 这个只包含程序库。如果你已经有了自定义ELMAH配置或者你想新建一个,你可以依赖并使用这个“核心”软件包。 ELMAH-“为了更快上手,ELMAH用初始配置。ELMAH (错误日志模块和处理程序) 是一种应用广泛的错误日志工具,完全可插拔。它可以被动态添加到正在运行的ASP.NET Web应用程序,甚至机器上所有的ASP.NET Web应用程序。而不需要重新编译或重新部署。” o 这个包含你需要的drop-in/just-works…

0

用简易的7步来创建一个NuGet 包-外加使用NuGet来把ASP.NET MVC 3整合进现有的Web Forms应用程序中去

[原文发表地址]Creating a NuGet Package in 7 easy steps – Plus using NuGet to integrate ASP.NET MVC 3 into existing Web Forms applications [原文发表时间] 2011-02-15 02:47 AM 上个月我写了一篇叫做把ASP.NET MVC 3整合进现有的升级后的ASP.NET 4 Web Forms应用程序的博文,在这篇博中我展示了一个需要很多手动操作且非常痛苦的方式来把ASP.NET MVC支持添加到一个现有的ASP.NET WebForms应用程序中去。然后你就会有一个可爱的既是MVC 又是WebForms的混合体。 我的一个读者Yannick说到: 这个需要大声尖叫召唤NuGet 确实曾是这样,恩,应该说确实还是这样。他说那就是极端枯燥的 NuGet应该能把它们变得简单的工作。因此我做了这件事情。感谢Yannick那直言的评论以使我好投入到行动中去。 首先是我创建了什么,然后是我是怎么创建的。亲爱的读者,我想要你花些时间并创建你自己的NuGet程序包。 用NuGet把ASP.NET MVC添加至一个ASP.NET WebForms项目里去 步骤0- 到这里找到NuGet 1.1。它大约300k,这只花1秒钟的时间。 步骤一 – 打开Visual Studio 2010并创建一个默认的ASP.NET (WebForms)应用程序 步骤2-右键点击References并点击Add Library Package…

0

第一周的NuGet软件包 – ASP.NET子画面和图像优化

[原文发表地址] NuGet Package of the Week #1 – ASP.NET Sprite and Image Optimization [原文发表时间] Mar 6, 2011, 09:50 PM   我在想既然NuGet.Net软件包管理网站开始逐渐充实,那么我应该开始在那寻找宝石了(没有双关含义)。您知道,就是那种大家可能没法发现的非常有用的东西。我将主要寻找开源项目,那些我认为它们很有用的项目。我会查看它们如何生成NuGet包,他们设计方式的有趣之处,开箱体验(以及可改进之处),当然也会关注软件包本身所做的事。   子图片和图像优化预览版本3   首先,我注意到ASP.NET子画面和图像优化预览版本已经更新到预览版本3了。这是微软可能在将来的ASP.NET中发布但是您现在就可以使用的一个东西。它甚至更容易使用,因为它就在NuGet中。     他们架构的很好。实际上,总共有3个软件包,其中“叶子”软件包依附于核心软件包。  AspNetSprites-Core AspNetSprites-WebFormsControl AspNetSprites-MvcAndRazorHelper 这是提供给ASP.NET来自动生成CSS子图片和内嵌图像的API。它可以在ASP.NET WebForm、MVC以及Web页面中使用。如果您正在编写自己的库并希望它通用于所有3个ASP.NET技术,这是一个很好的例子(请记住它全是ASP.NET)请参看这里获取所有的源代码. 子图片背后的理念是——如果您有一个页面上有几十甚至几百个小图片,可能是页面上的图标,此时,您将会因为大量的HTTP请求而耗费时间。相反,为什么不拿回有效图片拼出来的单个大图片让浏览器在运行时再使用CSS分割它们为“子图片”呢。然而,实际创建这些网格状图片往往很麻烦。   您不仅需要原始图片,还需要创建一个CSS文件,包含您所需要的图片在源图片中所处的相对位置。   您也可以在一些新的浏览器中通过Base-64编码小图片创建“内嵌图片”并把他们放在页面上的img标签中。   WebForm中的ASP.NET子图片   他们在安装软件包时生成的 App_Sprites文件夹中添加了一个有用的readme.txt(这是一种最佳实践)。下面就是readme。它很有用,因为它告诉你一切需要知道的东西并包括指向文档的指针。您会惊讶于极少软件包这么做。请记住您的NuGet用户可能在Visual Studio中或在其附近,而且因为NuGet的存在是为了避免我们辛辛苦苦地找东西,请不要让您的用户找东西找得很辛苦。   欲知ASP.NET子图片和图像优化框架的详细信息,请访问http://aspnet.codeplex.com/releases/view/61896.   快速入门:   1)       将您的图片添加至“App_Sprites”目录。 2)       取决于您的应用程序类型:   ****************************…

0

第六周的NuGet软件包介绍 – Clay中动态、可塑、有趣的Expando对象与Clay

  [原文发表地址]: NuGet Package of the Week #6 – Dynamic, Malleable, Enjoyable Expando Objects with Clay [原文发表时间]:May 6, 2011, 4:41 AM   嘿,您实施了NuGet行动计划吗?行动起来吧,它只需5分钟——升级到1.2版本,安装自动更新,获取NuGet 软件包浏览器。 NuGet1.3已经out了,所以请确保您已经设置了自动更新!   故事背景:我正在思考既然NuGet.Net软件包管理网站开始逐渐充实,那么我应该开始在那寻找宝石了(没有双关含义)。您知道,就是那种大家可能没法发现的真正有用的东西。我将主要寻找开放源代码项目——我认为它们很有用。我会查看它们如何生成NuGet软件包,看看它们设计盒外(out of the box)安装体验时有没有什么有趣的地方(以及任何它们可以改进而实施的举措),当然也会关注软件包本身所做的事。   本周的推荐软件包是“Clay”。它使得用动态对象工作变得更有趣。它是Louis DeJardin和助手Bertrand LeRoy为开放源代码Orchard项目而编写的。    静态语言中有趣的动态   这是从我2年前的一篇关于C#动态关键字的文章中复制/粘贴来的一些内容。我认为内容不错,所以又把它添加到这里了。   所以我问这个人,动态关键字到底是什么,它到底是什么类型呢?我的意思是,C#不是动态的,对吗?他回答:   “哦,它是静态被赋予了动态类型。”   一瞬间我的大脑爆炸并溢出耳外。真的,尽管只有一秒钟的时间。这是Anders幻灯片里的一些很好的例子:   Calculator calc = GetCalculator(); int sum = calc.Add(10, 20);   这就是创建对象,方法调用以及返回值集合。下面是完全相同的代码,因为”var”类型在编译时被推算出来。…

0