.NET框架库源代码可用了

文/Scott Guthrie  译/韩现龙  出处/Scott Guthrie 博客中文版

【原文地址】.NET Framework Library Source Code now available
【原文发表日期】 Wednesday, January 16, 2008 2:50 PM
去年十月份我发表了关于公布.NET框架库源代码和在Visual Studio 2008中启用对其调试支持的计划的一篇博客。今天我很高兴地宣布,现在可以启用源码支持了!具体来说,你现在可以查看和调试下面的.NET框架库的源代码:
  • .NET基类库(包括 System, System.CodeDom, System.Collections, System.ComponentModel, System.Diagnostics, System.Drawing, System.Globalization, System.IO, System.Net, System.Reflection, System.Runtime, System.Security, System.Text, System.Threading等)
  • ASP.NET (System.Web, System.Web.Extensions)
  • Windows Forms (System.Windows.Forms)
  • Windows Presentation Foundation (System.Windows)
  • ADO.NET and XML (System.Data 和 System.Xml)
我们正在向上面的类库列表中添加其他的框架库(包括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

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [Visual Studio.NET] 的这些文章也感兴趣:

微软的一道面试题的解法
.NET框架4.0中都有些什么?
基于VS Shell的魔兽世界插件开发工具
动态LINQ (第一部分:使用LINQ动态查询库)
托管Team Foundation Server有意义吗?
.NET开发最新参考资料推荐_20080316
XNA Game Studio 2已发布
Spring .NET 1.2.0 发布
利用.NET FileStreams将DTD插入XML文件中
VS 2008 和 .NET 3.5 Beta 2 发布