曙海教育集团论坛开发语言培训专区Microsoft.NET Framework → Microsoft.NET Framework 开放代码可读权限


  共有3301人关注过本帖树形打印

主题:Microsoft.NET Framework 开放代码可读权限

美女呀,离线,留言给我吧!
wangxinxin
  1楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:青蜂侠 帖子:1393 积分:14038 威望:0 精华:0 注册:2010-11-12 11:08:23
Microsoft.NET Framework 开放代码可读权限  发帖心情 Post By:2010-12-14 16:20:46

期待已久的.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框架。

 


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

Microsoft.NET Framework 开放代码可读权限








签名