阅读更多

5顶
0踩

编程语言

【原文地址】.NET Framework Library Source Code now available  ( 韩现龙译)

【原文发表日期】 Wednesday, January 16, 2008 2:50 PM

 

 

期待已久的.NET Framework终于在本周开放代码可读权限了,微软在MS-RL协议下终于公开了.NET Framework源代码,我们只可以自由查看,不允许直接进行修改。具体来说,你现在可以查看和调试下面的.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框架。

 

来自: joycode.com
5
0
评论 共 3 条 请登录后发表评论
3 楼 zengsun 2008-01-19 20:00
是一件很好的事情!这个举动对Java多少还是有一点威胁的。
2 楼 beckrabbit 2008-01-18 13:45
只能看 不能摸
1 楼 coderChen 2008-01-18 10:40
java社区开源盛行,sun也是支持开源的,java作为一个平台,在很多方面都是定义了标准规范,其他人可以按规范设计自己的实现,这样开源社区就比较有市场。另一方面,java本身在很多方面的易用性确实很差,所以也有很多开源项目存在的必要,比如apache的commons.

    相比之下,微软就是另一种姿态了。它首先不开源,其次不喜欢开源,其实或许还有点抵制开源(个人观点,不过迫于压力,和商务需要,ms也决定开放很多一些其原先不愿开放的个人标准,连office格式都要公布了)。所以Microsoft.NET Framework 全面开源并不令人意外。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

Global site tag (gtag.js) - Google Analytics