[转自Infoq] http://www.infoq.com/cn/news/2009/07/23-.NET-Open-Source-Projects
Eric Nelson是微软技术的传道者,也是MSDN UK Flash的技术编辑,他编写了一个列表,列出23个UK开发人员推荐的.NET开源项目。微软的一些开源项目如ASP.NET MVC、DLR、IronRuby、IronPython、MEF等则未列入其中。
Eric尝试只包含一个测试框架和一个mock框架,即使有很多其它的项目同样入围。他列出了以下项目:
- [TEST] xUnit.net - 用于TDD的最好的测试框架之一。
- [TEST] RhinoMocks mocking framework - 通过创建mock使测试更简单。
- [TEST] White for automation of Windows applications - 用代码驱动Windows程序来测试。
- [TEST] Gallio Automation Platform - 可以运行很多测试框架,如MSTest、xUnit、NUnit以及MbUnit。
- [DATA] Fluent NHibernate - Fluent NHibernate让你可以用C#代码来设置映射关系。
- [OOP] StructureMap Dependency Injection/Inversion of Control - 解耦类和依赖。
- [OOP] Managed Extensibility Framework - 从静态编译程序转换到动态语言程序
- [APPFX] s#arp architecture for web applications - 用ASP.NET MVC和NHibernate快速开发web应用程序。
- [APPFX] OpenRasta REST based framework for building web applications - 让你的程序拥有一个REST API接口。
- [APPFX] CSLA.NET Application Framework - .NET开发综合框架
- [APPFX] Spring.NET Application Framework - Web开发综合框架
- [RUNTIME] Mono enables .NET on Linux and Mac - 在Linux、BSD和OS X上使用.NET.
- [UTIL] Sandcastle Help File Builder - 创建MSDN样式的文档。
- [HELPER] EasyHook for Windows API Hooking - 用托管代码扩展非托管代码。
- [HELPER] Json.NET for working with JSON formatted data - 用一条语句序列化.NET对象。
- [HELPER] Excel Data Reader for Excel 97 to 2007 - 将Excel文件读取到Dataset中
- [HELPER] #SNMP Library - 对SNMP的包装。
- [HELPER] DotNetZip Library - ZIP库和示例。
- [HELPER] Visio Automation Library - 用C#、VB和其它语言驱动Viso
- [HELPER] PHPExcel is not just about Excel! - 读写Execel 2007、PDF、HTML等文档的PHP类
- [HELPER] Argotic Syndication Framework for RSS, Atom, OPML and more - 读写聚合内容的库
- [HELPER] NLog logging library -让你的程序易于调试
- A great directory of C# Open Source software - 一个非常好的库、框架和工具列表
还有一些提交的项目没有进入列表:
一些使用MS-PL许可证的微软项目:
- ASP.NET MVC Open Source
- .NET Dynamic Language Runtime (DLR)
- IronRuby
- IronPython
- Silverlight Toolkit
- Ajax Control Toolkit
- Managed Extensibility Framework (MEF)
MS-PL是OSI认可的许可证,GNU也认可它为免费软件许可证,它允许任何人查看源代码、修改源代码并发布修改后的源代码。而且此许可证并不限 制代码只能运行在Windows上,这样就可以将代码移植到其它操作系统,例如Mono(Linux上的.NET)和Monolight(Linux上的 Silverlight)。MonoDevelop有一个插件,可以用来在Linux和Mac OS X上开发ASP.NET MVC程序。