公布.NET 框架库源代码(转)

简介:
来源: http://blog.joycode.com/scottgu/archive/2007/10/04/109100.aspx

【原文地址】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 框架库调试器字符,或按需手工获取:

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

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

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

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

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

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

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

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

结语

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

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

希望本文对你有所帮助,

Scott




本文转自钢钢博客园博客,原文链接:http://www.cnblogs.com/xugang/archive/2007/10/18/929253.html,如需转载请自行联系原作者

相关文章
|
22天前
|
人工智能 物联网 开发工具
.NET技术:多元语言、丰富库与跨平台能力引领软件开发新纪元。
`【7月更文挑战第4天】.NET技术:多元语言、丰富库与跨平台能力引领软件开发新纪元。从企业应用、云服务到游戏开发,其角色日益凸显。随着微软的持续创新与社区合作,未来.NET将在物联网、AI等领域拓宽应用,开发者应把握趋势,共创未来。`
20 0
|
2月前
|
C#
一个库帮你轻松的创建漂亮的.NET控制台应用程序
一个库帮你轻松的创建漂亮的.NET控制台应用程序
|
13天前
|
存储 对象存储 Python
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
|
20天前
|
Linux API C#
.NET开源、跨平台、使用简单的面部识别库
.NET开源、跨平台、使用简单的面部识别库
|
1月前
|
XML 开发框架 .NET
【.NET Core】常见C#代码约定
【.NET Core】常见C#代码约定
25 5
|
28天前
|
JSON 开发框架 API
【推荐100个unity插件之20】一个强大的JSON处理库——Newtonsoft.Json(也称为Json.NET)
【推荐100个unity插件之20】一个强大的JSON处理库——Newtonsoft.Json(也称为Json.NET)
51 0
|
1月前
|
NoSQL 大数据 Redis
分享5款.NET开源免费的Redis客户端组件库
分享5款.NET开源免费的Redis客户端组件库
|
1月前
|
开发框架 JavaScript 前端开发
分享7个.NET开源、功能强大的快速开发框架
分享7个.NET开源、功能强大的快速开发框架
117 1
|
1月前
|
SQL JavaScript NoSQL
.NET有哪些好用的定时任务调度框架
.NET有哪些好用的定时任务调度框架
|
2月前
|
开发框架 .NET C#
使用C#进行.NET框架开发:深入探索与实战
【5月更文挑战第28天】本文探讨了C#在.NET框架中的应用,展示了其作为强大编程语言的特性,如类型安全、面向对象编程。C#与.NET框架的结合,提供了一站式的开发环境,支持跨平台应用。文中介绍了C#的基础知识,如数据类型、控制结构和面向对象编程,以及.NET的关键技术,包括LINQ、ASP.NET和WPF。通过一个实战案例,展示了如何使用C#和ASP.NET开发Web应用,包括项目创建、数据库设计、模型和控制器编写,以及视图和路由配置。本文旨在揭示C#在.NET开发中的深度和广度,激发开发者探索更多可能性。