Scott Guthrie 博客中文版

Scott Guthrie's Blog on ASP.NET and .NET (英文原版地址:http://weblogs.asp.net/scottgu)

   博客堂 :: 首页 :: 联系 :: RSS 2.0 ::
随笔 - 204, 评论 - 1023, 引用 - 436

导航

标签

每月存档

最新留言

广告

VS 2008 Web部署项目支持发布了

【原文地址】VS 2008 Web Deployment Project Support Released
【原文发表日期】 Monday, January 28, 2008 10:02 PM

上个星期五,我们在网上发布了对VS 2008 Web部署项目的最终版(RTW)支持。你可以在这里免费下载以及了解有关详情。

Web部署项目可以用于内置于VS 2008中的“ASP.NET 网站项目(ASP.NET Web Site)”或 “ASP.NET Web 应用项目(ASP.NET Web Application Project)”选项,提供了可为你所用的其他的编译,包装和部署选项。你可以在这里阅读一篇我以前的教程贴子以进一步了解有关详情。

VS 2008 Web 部署项目版本支持VS 2005 web部署项目提供的所有现有特性,它还添加了如下的其他支持:

这个(发布在网上的)RTW版本修补了发现的缺陷,添加了大家对我们上个月发布的12月CTP版本所要求的一些小特性。请确认在你安装这个最终版本前,运行安装程序,卸载你安装了的任何VS 2008 部署项目支持的老的版本。VS 2008 Web 部署项目可以与VS 2005 Web 部署项目并行安装,所以没必要卸载VS 2005的版本,如果你还在老的项目中使用它的话。

更多的部署特性

在我上次的链接篇里,我提到了IIS开发团队发布的新的Web部署工具。这个工具可用于IIS6和IIS7,允许你向web服务器进行自动化的拷贝部署,文件同步,和应用移植。如果你在寻找一种好的方式往远程服务器上自动化部署你的ASP.NET 应用的话,那么这个工具绝对值得看一下。

你可以在你的build环境中将VS 2008 Web部署项目作为build后的一步来设置最后的部署配置,然后使用IIS Web 部署工具将它们拷贝到远程服务器上去。或者,你也可以直接使用IIS Web 部署工具将原本的“ASP.NET 网站项目(ASP.NET Web Site)”或 “ASP.NET Web 应用项目(ASP.NET Web Application Project)”拷贝到远程机器上去(不需要VS 2008 Web 部署项目)。

想进一步了解关于新的 IIS Web部署工具的话,请阅读这个网页底部的walkthroughs文档(特别是“Introduction to MS Deploy”一篇)。我也会在以后的博客中进一步讨论如果用它来自动化你的web服务器部署。

希望本文对你有所帮助,

Scott

posted on 2008-01-29 21:45:00 by scottgu  评论(5) 阅读(7750)

1月24日链接篇: ASP.NET, ASP.NET AJAX, Visual Studio, .NET, IIS

【原文地址】Jan 24th Links: ASP.NET, ASP.NET AJAX, Visual Studio, .NET, IIS
【原文发表日期】 Thursday, January 24, 2008 11:08 PM

才从亚洲回来,决定发一链接系列之新贴以示庆祝(因为我还没适应时差,无法入眠)。也请参阅我的ASP.NET 技巧,诀窍和教程网页里我以前写的众多很受欢迎的文章的链接。

ASP.NET

ASP.NET AJAX

Visual Studio

.NET

IIS

希望本文对你有所帮助,

Scott

posted on 2008-01-26 00:40:00 by scottgu  评论(7) 阅读(6937)

.NET框架库源代码可用了( 韩现龙译)

【原文地址】.NET Framework Library Source Code now available
【原文发表日期】 Wednesday, January 16, 2008 2:50 PM

去年十月份我发表了关于公布.NET框架库源代码和在Visual Studio 2008中启用对其调试支持的计划的一篇博客。今天我很高兴地宣布,现在可以启用源码支持了!具体来说,你现在可以查看和调试下面的.NET框架库的源代码:

我们正在向上面的类库列表中添加其他的框架库(包括LINQ, WCF和Workflow)过程之中。在接下来的几周或者几个月之内,当它们可用之后我会写博客告诉大家。

在Visual Studio 2008中启用参考源代码访问

在Visual Studio 2008中启用.NET框架库源代码访问只要几分钟就可以配置完成。Shawn Burke在这里有一篇很详细的博客,说明了如何启用源码支持的具体步骤。

如果你在配置时遇到了麻烦或者有问题的话,请在MSDN这里Reference Source Forum论坛提问。

调试进入.NET框架库源代码

在按Shawn上面的博客中的步骤配置完成之后,你就可以动态地加载.NET框架库的调试符号并且调试进入到源码之中。在你调试框架库代码的过程中,VS 2008将会从MSDN源码服务器上按需下载符号和源码文件:

开发者的注释也包括在源文件中。在上面的例子中,你可以看到Control基类中的Dispose方法的注释例子。

有时,你会看到一些注释引用了我们的缺陷/工作项跟踪数据库(bug/work-item tracking database)中以前的缺陷跟踪号码,这些号码提供了关于某个特定编码决定的额外历史信息。例如,上面的注释指出,某个特定的成员变量,为保持与框架的一个老版本的向后兼容性,不该设置成null,并且指出了因此而修正的一个向后兼容性缺陷。

参考许可(Reference License)

.NET框架源码是在一个只读参考许可(read-only reference license)下发布的。去年十月份我们宣布将要公布源码的时候,一些人对他们查看源码的的潜在影响有些顾虑。为了澄清和对这些顾虑作一个说明,我们对许可作了一个小小的改动,特别指出这个许可不适用于在拥有和.NET框架“相同或者本质上相同的特性或者功能(the same or substantially the same features or functionality)”的非Windows平台下开发软件的开发者。如果你开发的软件是针对Windows平台的,那么你就可以查看这些源码,即使那些软件拥有和.NET框架“相同或者本质上相同的特性或者功能”。

结语

我们认为,提供源码访问和.NET框架库的调试集成对.NET开发者来说是非常有价值的。能够单步调试和查看源码对.NET框架库是如何实现的应该会提供一个更好的认识,然后使你开发出更好的应用程序,更好地应用.NET框架。

希望这些对你有所帮助,

Scott

博客园 韩现龙译

posted on 2008-01-17 12:42:00 by scottgu  评论(13) 阅读(10989)

下2个星期将访问中国,南朝鲜和日本

【原文地址】Visiting China, South Korea and Japan the Next Two Weeks
【原文发表日期】 Tuesday, January 08, 2008 9:35 PM

本星期五,我将出发,开始十天的亚洲之旅。出差旅行一般不会让我激动(去年我在飞机上的次数大概有70次之多),但我非常期待这次旅行,因为这是我的第一次亚洲之旅。

我将访问中国(北京,上海和深圳),南朝鲜(首尔)和日本(东京),我将做一些讲座,与客户见面,拜访基于中国的我部门的一个开发团队。我还希望有机会在这些国家做些观光,陶醉自己一下。

下面是我这次旅程间将做的讲座的一些细节,如果你有兴趣参加或想了解详情的话:

去年,我非常幸运有些好人志愿将我的博客贴子翻译成其他语言(包括中文和日文),下面是这些博客的链接,如果英语不是你的母语的话:

我希望这次能与思归(我的博客中文版的翻译者,该博客居于王洪超的博客站上)以及Chica(我的博客日文版的翻译者)见面,有机会亲自感谢他们,

谢谢,

Scott

【译注】译者目前不在国内,参与Scott Guthrie博客翻译的还有Ring,蓝天,木野狐,韩现龙等。

posted on 2008-01-09 23:20:00 by scottgu  评论(18) 阅读(7789)

动态LINQ (第一部分:使用LINQ动态查询库)

【原文地址】Dynamic LINQ (Part 1: Using the LINQ Dynamic Query Library)
【原文发表日期】 Monday, January 07, 2008 11:02 PM

LINQ (语言级集成查询)是VS 2008 和 .NET 3.5中提供的一个新特性。LINQ使得数据查询的概念成为.NET中的一等编程概念,允许你在你喜欢的编程语言中有效地表达查询。

LINQ的一个好处是,它允许你使用 VB 和 C#. 编写类安全的查询。这意味着,对你的代码,你会得到对LINQ查询的编译时检查,以及完整的intellisense和重构支持:

类安全的查询可用于大多数的场景,但也有些情形,你需要能在运行时动态构建查询的灵活性。例如,你也许要在应用中提供商业智能的界面,允许业务分析员用户使用下拉框在数据之上构造和表达他们自己的自定义查询/视图。

按惯例,这类动态查询场景经常是通过把字符串连接起来构建成动态SQL查询的方式来处理的。最近有几个人通过电邮问我该如何使用LINQ来处理这类场景。下面的贴子内容将描述如何使用LINQ开发团队提供的“动态查询库(Dynamic Query Library)”来动态地构建LINQ查询。

下载LINQ动态查询库

VS 2008样例下载网页上包括了指向一个VB和C#样例包的链接,该样例包内含一个很酷的动态查询LINQ辅助库。该动态查询库(以及相关文档)的直接链接如下:

VB和C#的DynamicQuery例程都包括了一个辅助库的源码实现,该辅助库允许你使用接受字符串参数(而不是类安全的语言运算符)的扩展方法来表示LINQ查询。你可以把C#或VB的DynamicQuery库的实现拷贝到你自己的项目中,然后在适当的地方根据用户的输入用它来动态地构建LINQ查询。

动态查询库的简单示例

你可以将DynamicQuery库用于任何LINQ数据provider,这些provider包括LINQ to SQL, LINQ to Objects, LINQ to XML, LINQ to Entities, LINQ to SharePoint, LINQ to TerraServer等等。动态查询库不是使用语言级的运算符或类安全的 lambda 扩展方法来构建LINQ查询,而是提供给你基于字符串的扩展方法,你可以用这些方法来传递任何字符串表达式。

例如,下面是用VB编写的一个标准的类安全LINQ to SQL查询,从 Northwind 数据库中获取数据,然后在一个ASP.NET GridView 控件中做显示:

使用LINQ DynamicQuery库,我可以将上面的查询表达式重写成:

 

注意,其中的条件式 where 子句和排序的 orderby 子句现在接受字符串表达式,而不是代码表达式。因为它们是后期绑定字符串,我可以动态地构建它们。例如,我可以提供界面给业务分析员用户,允许他们自己构建查询(包括任意的条件子句)。

动态查询库文档

在上面的 VB 和 C# 动态查询例程中还有一些HTML文档,详细描述了如何使用动态查询库中的扩展方法。如果你想要更深入地使用这个辅助库的话,这些文档绝对是值得一读的:

 

下载和运行动态查询库的样例

你可以下载和运行我编写的 VB 和C# 基本例程,在其中我示范了在一个ASP.NET 网站项目中使用动态的LINQ库对Northwind数据库进行LINQ to SQL查询:

你可以使用免费的Visual Web Developer 2008 Express版或者VS 2008打开运行这些项目。

构建动态LINQ查询的其他方法

动态查询库简单易用,在那些查询是完全动态,你要提供界面给用户,助他们构建这些动态查询的场景下尤其有用。

在将来的贴子里,我将对构建动态LINQ查询做深入探讨,讨论如何使用类安全的predicate方法来对你的代码进行结构化(《C# 3.0 In a Nutshell 》一书的作者Joseph 和 Ben Albahari,对此有个很精彩的贴子,在 这里)。

希望本文对你有所帮助,

Scott

posted on 2008-01-09 02:40:00 by scottgu  评论(7) 阅读(15745)

1月4日链接篇:ASP.NET, ASP.NET AJAX, ASP.NET MVC, Visual Studio, IIS7

【原文地址】Jan 4th Links: ASP.NET, ASP.NET AJAX, ASP.NET MVC, Visual Studio, IIS7
【原文发表日期】 Friday, January 04, 2008 1:28 AM

这是我的链接系列的最新篇。也请参阅我的ASP.NET 技巧,诀窍和教程网页里我以前写的众多很受欢迎的文章的链接。

ASP.NET

ASP.NET AJAX

ASP.NET MVC

Visual Studio

IIS 7.0

希望本文对你有所帮助,

Scott

posted on 2008-01-05 02:53:00 by scottgu  评论(4) 阅读(6913)

使用VS 2008创建启用了ASP.NET AJAX 1.0的新ASP.NET 2.0项目

【原文地址】Using VS 2008 to Create New ASP.NET 2.0 with ASP.NET AJAX 1.0 Projects
【原文发表日期】 Thursday, January 03, 2008 10:15 PM

VS 2008一个很棒的新特性是对框架的多定向支持。这允许你使用VS 2008来开发.NET 2.0,.NET 3.0 和 .NET 3.5 项目,而不要求你将项目升级为.NET框架的最新版才能利用Visual Studio 2008中的新特性(象JavaScript Intellisense, JavaScript 调试, 代码编辑, 嵌套母版页, 以及改进的web设计器和css特性,所有这些都可用于.NET 2.0,3.0 和3.5项目)。

ASP.NET AJAX 1.0多定向支持

原装的VS 2008允许你编辑使用了我们去年发布的可单独下载的ASP.NET AJAX 1.0建造的ASP.NET 2.0应用。VS 2008的多定向支持对这些项目也适用,你可以在其中使用改进的 JavaScript 和 web 设计器支持 ,仍然定向于.NET 2.0 和 ASP.NET AJAX 1.0。

用于VS 2008的新的ASP.NET AJAX 1.0项目模板

原装的VS 2008并没有包括可用于创建启用了ASP.NET AJAX 1.0的新ASP.NET 2.0应用的项目模板。就在圣诞节之前,我们发布了一个启用这些项目模板选项的免费下载。你可以在这里下载(注:要使用这些模板的话,需要确认你在机器上安装了ASP.NET AJAX 1.0)。

在安装这些项目模板之后,你就可以使用VS 2008中的文件->新项目或者文件->新网站来创建在ASP.NET 2.0上运行的ASP.NET AJAX 1.0应用:

新ASP.NET AJAX 1.0网站项目

新ASP.NET AJAX 1.0web应用项目

使用这些项目模板建造的应用并不要求服务器上装有.NET 3.5就能工作,你可以将它们拷贝到现有的安装了.NET 2.0和ASP.NET AJAX 1.0的任何web服务器上,它们会正常工作。

希望本文对你有所帮助,

Scott

posted on 2008-01-04 22:58:00 by scottgu  评论(4) 阅读(8155)