.NET 源代码已经公开,并可用于调试

阅读数:909 2008 年 1 月 20 日

话题:.NET开源DevOps语言 & 开发架构

.NET 框架中几个关键类库的源代码已经公开,并可用于调试。它们并非传统意义上允许您任意为之的“开源”,而使用了一个严格的“只能看,不许碰”许可协议,这个许可协议被称为“微软参考协议(Microsoft Reference License)”。不过,这些源代码仍然是.NET 开发人员最好的资源之一。

在去年 10 月,Scott Guthrie 宣布微软将会发布.NET 源代码。自此之后,我们就没有得到太多消息了,人们的注意力都集中在 Visual Studio 2008,以及几个当时还在开发中的预发布版本类库。

这些源代码只能使用 Visual Studio 2008 的集成调试功能来获得,并且只对付费的零售版本有效。使用 VS Express 的人,或者第三方编辑器就没有办法下载这些文件了。

只要你根据Shawn Burke 博客上的指导来做,就能在调试时进入微软提供的源代码,就像查看你自己的代码一样。您也能够直接阅读那些您已经加载的源代码,不过这需要您从标记(symbol)缓存中自己挖掘了。

Scott Guthrie 强调了一些许可协议方面的事情

.NET 框架的源代码已经在一个只读的许可协议下发布了。当我们在去年 10 月宣布公开源代码的消息时,有些人对查看源代码所带来的潜在影响有些顾虑。为了澄清和解决这些顾虑,我们对许可协议作了一些小小的改动,确保这些代码不可用于那些为非 Windows 平台下开发与.NET 框架“相同或部分相同的功能”的开发者。如果您正在为 Windows 平台开发软件,您是可以阅读这些代码,即使这个软件拥有与.NET 框架“相同或部分相同的功能”。

换句话说,Mono 开发人员被明确禁止使用这些功能。不过考虑到 Novell 本身不允许 Mono 开发人员查看.NET 代码,这并不会对 Mono 项目的进展有什么影响。

这次发布的版本中包含的命名空间是:

  • System
  • System.CodeDom
  • System.Collections
  • System.ComponentModel
  • System.Data
  • System.Diagnostics
  • System.Drawing
  • System.Globalization
  • System.IO
  • System.Net
  • System.Reflection
  • System.Runtime
  • System.Security
  • System.Text
  • System.Threading
  • System.Web
  • System.Web.Extensions
  • System.Windows
  • System.Windows.Forms
  • System.Xml

查看英文原文:.NET Source Code Available for Debugging