公布.NET 框架库源代码

【原文地址】Releasing the Source Code for the .NET Framework Libraries
【原文发表日期】 Wednesday, October 03, 2007 9:27 AM

我的团队一直致力实现的一件事情是,能让.NET 开发人员下载和浏览.NET 框架库的源代码,并且轻松地促成对它们的调试支持。

今天我非常高兴地宣布,我们将在今年晚些时候发布.NET 3.5 和 VS 2008时,同时提供源代码。

我们将首先提供.NET 基本类库(System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Text, etc), ASP.NET (System.Web), Windows Forms (System.Windows.Forms), ADO.NET (System.Data), XML (System.Xml), 和WPF (System.Windows)的源代码(内含源文件注释)。然后我们将在之后的几个月内公布其他库的代码,包括 WCF,Workflow,和 LINQ。这些源代码将在 Microsoft Reference License (MS-RL))许可下发布。

你可以通过一个单独的安装来下载.NET 框架库源代码,这允许你在本机上以任何文本编辑器来浏览。我们也将在VS 2008内提供源代码的集成调试支持。

Visual Studio 2008的集成调试支持

VS 2008的最终版将支持配置调试器从微软拥有的web服务器上动态下载.NET 框架库调试器字符以及相关的源代码的能力。你将能够配置一次性完全下载.NET 框架库调试器字符,或按需手工获取:

step1.jpg

当你调试 .NET应用,触发你的代码中的断点时,你现在将能看到调试器call stack包含了你应用中所用的.NET 框架库类和方法的详细文件和行数信息:

step4.jpg

在上面的截图中,你可以看到我们对GridView1.DataBind()设置了断点,之前,根本没有办法钻入这个DataBind()方法,看它是怎么实现的。

现在在VS 2008中,你将能够按F11(单步调试),在调试器中钻入.NET 框架源码实现:

step5.jpg

VS 2008将包括按需从微软自动获取相关的.NET框架库源代码文件的支持。这意味着,在我们启动调试器之前,上面的ASP.NET GridView和 BaseDataBoundControl类的源代码可以还没有安装在当前机器上。在我们按F11,单步调试进它们的实现时,VS可以自动地从微软下载相关的源代码,然后在IDE中打开。

通过动态地下载源代码文件,我们还可以确保相关的源代码文件与你机器上的.NET框架的特定版本相一致。譬如,你在机器上安装了GDR或服务包补丁,我们将保证下载与之相应的源代码文件。

除了单步调试进入.NET框架的代码外,我们还可以在call stack上往回走进入.NET框架的源代码。譬如,在上面的场景中,我也可以在call stack上双击System.Web.UI.Page 类的私有ProcessRequest 方法来浏览其实现:

step6.jpg

我们也可以再往回走,进入mscorlib 程序集中的System.Threading.ThreadPool实现(该类控制运行我们页面的线程):

step7.jpg

注意,在前面的2个屏幕截图中, VS 调试器的 "Locals" 和 "Watch" 窗口的功能在你的代码以及.NET框架代码中是完全支持的。

结语

能够访问源代码,以及.NET框架库的调试器集成对.NET 开发人员来说是非常有价值的。能够单步调试和浏览源代码应该对.NET框架库是如何实现的提供深入的理解,转而允许开发人员打造更棒的应用,更好地利用它们。

想进一步了解我们的源代码发布计划以及了解调试器集成的工作原理,请去看一下Scott HanselmanShawn Burke最近录制的这个播客。主管我的团队里源代码项目的Shawn还将在本星期的稍后发布一个非常酷的Channel9录像,展示如何使用VS 2008中的集成调试支持。

希望本文对你有所帮助,

转载于:https://www.cnblogs.com/HeroBeast/archive/2008/11/22/1338813.html

源码dll: ComSvcConfig mscorlib PresentationBuildTasks PresentationCore PresentationFramework PresentationFramework.Aero PresentationFramework.Classic PresentationFramework.Luna PresentationFramework.Royale SMDiagnostics SMSvcHost svcutil System System.Activities System.Activities.Core.Presentation System.Activities.DurableInstancing System.Activities.Presentation System.AddIn System.AddIn.Contract System.ComponentModel.DataAnnotations System.Configuration System.Core System.Data System.Data.DataSetExtensions System.Data.Entity System.Data.Entity.Design System.Data.Linq System.Data.Services System.Data.Services.Client System.Data.Services.Design System.Data.SqlXml System.Drawing System.IdentityModel System.IdentityModel.Selectors System.IO.Log System.Management System.Messaging System.Net System.Numerics System.Runtime.Caching System.Runtime.DurableInstancing System.Runtime.Remoting System.Runtime.Serialization System.Security System.ServiceModel System.ServiceModel.Activation System.ServiceModel.Activities System.ServiceModel.Channels System.ServiceModel.Discovery System.ServiceModel.Internals System.ServiceModel.Routing System.ServiceModel.WasHosting System.ServiceModel.Web System.Transactions System.Web System.Web.ApplicationServices System.Web.DynamicData System.Web.Entity System.Web.Entity.Design System.Web.Extensions System.Web.Mobile System.Web.Routing System.Web.Services System.Windows.Forms System.Workflow.Activities System.Workflow.ComponentModel System.Workflow.Runtime System.WorkflowServices System.Xaml.Hosting System.Xml System.Xml.Linq UIAutomationClient UIAutomationClientsideProviders WindowsBase WsatConfig WsatUI XamlBuildTask
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值