.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
评论