Eric Nelson, a Developer Evangelist for Microsoft and Technical Editor of MSDN UK Flash, has compiled a list of 23 .NET open source projects mostly based on recommendations sent by UK developers. Other great projects did not make it into the list, while Microsoft’s contribution include: ASP.NET MVC, DLR, IronRuby, IronPython, MEF.
Eric tried to incorporate only one testing framework, one mocking framework, etc., even though more than one were submitted. His list contains the following projects:
- [TEST] xUnit.net - One of several very good testing frameworks to aid with TDD.
- [TEST] RhinoMocks mocking framework - Ease testing by allowing the developer to create mock implementations of objects.
- [TEST] White for automation of Windows applications - Programmatically drive Windows applications.
- [TEST] Gallio Automation Platform - Works with many testing frameworks including MSTest, xUnit, NUnit and MbUnit.
- [DATA] Fluent NHibernate - Fluent NHibernate lets you write mappings in strongly typed C# code.
- [OOP] StructureMap Dependency Injection/Inversion of Control - Enable looser coupling between classes and their dependencies.
- [OOP] Managed Extensibility Framework - Make the shift from applications being statically compiled to dynamically composed.
- [APPFX] s#arp architecture for web applications - Foundation for rapidly building web applications using ASP.NET MVC with NHibernate.
- [APPFX] OpenRasta REST based framework for building web applications - Simplify exposing a REST based API to your application.
- [APPFX] CSLA.NET Application Framework - A comprehensive framework for .NET development.
- [APPFX] Spring.NET Application Framework - A comprehensive framework for building web applications.
- [RUNTIME] Mono enables .NET on Linux and Mac - Use those .NET skills to target Linux, BSD and OS X.
- [UTIL] Sandcastle Help File Builder - Create MSDN-style documentation from .NET assemblies.
- [HELPER] EasyHook for Windows API Hooking - Extend unmanaged code (APIs) with managed code.
- [HELPER] Json.NET for working with JSON formatted data - R/W using the JsonReader and JsonWriter or serialize your .NET objects with a single call.
- [HELPER] Excel Data Reader for Excel 97 to 2007 - Read Excel files straight into a dataset.
- [HELPER] #SNMP Library - A natural API interface to encapsulate SNMP functions.
- [HELPER] DotNetZip Library - A great ZIP library plus samples.
- [HELPER] Visio Automation Library - Automate Visio from C#, Visual Basic and more.
- [HELPER] PHPExcel is not just about Excel! - PHP classes to r/w Excel 2007, PDF, HTML and more.
- [HELPER] Argotic Syndication Framework for RSS, Atom, OPML and more - Makes the reading and writing syndicated content in common formats very easy.
- [HELPER] NLog logging library - Easily write diagnostic traces from your application.
- A great directory of C# Open Source software - Nicely indexed directory of libraries, frameworks and tools.
Other great projects submitted which did not make it into the final list:
Some substantial contributions from Microsoft under the MS-PL license are:
- ASP.NET MVC Open Source
- .NET Dynamic Language Runtime (DLR)
- IronRuby
- IronPython
- Silverlight Toolkit
- Ajax Control Toolkit
- Managed Extensibility Framework (MEF)
MS-PL is an OSI approved license and characterized by GNU as a free software license which allows anyone to see the source code, modify it and share the modifications with others. Furthermore, the license does not limit the code to run only on Windows, opening the possibility to port it to other operating systems. Two such examples are Mono (.NET on Linux) and Moonlight (Silverlight on Linux). A plug-in has been created for MonoDevelop to use ASP.NET MVC on Linux and Mac OS X.
Community comments
where is moq
by 瑜珩 王,
so we like the shiny gadget on the dashboard,
by Stefan Wenig,
Re: so we like the shiny gadget on the dashboard,
by Eric Nelson,
Re: so we like the shiny gadget on the dashboard,
by Stefan Wenig,
Re: so we like the shiny gadget on the dashboard,
by Abel Avram,
Re: so we like the shiny gadget on the dashboard,
by Stefan Wenig,
Re: so we like the shiny gadget on the dashboard,
by Eric Nelson,
Re: so we like the shiny gadget on the dashboard,
by Abel Avram,
Huh?
by Roger Alsing,
Re: Huh?
by Aayush Puri,
MEF is already on list-Look at #7
by Lalit Kale,
Re: MEF is already on list-Look at #7
by lionel molas,
where is moq
by 瑜珩 王,
Your message is awaiting moderation. Thank you for participating in the discussion.
moq should be in the list
so we like the shiny gadget on the dashboard,
by Stefan Wenig,
Your message is awaiting moderation. Thank you for participating in the discussion.
but the car is not important, right? Let's go use Fluent NH without NH!
But it's not just NH, Castle is not important enough either. CruiseControl? Nah. But we do like this little Excel thingy!
MEF is a clear winner, it appears in all 3 lists, including "made it" and "didnt't make it"!
Can somebody please explain the relevance of this list to me?
Re: so we like the shiny gadget on the dashboard,
by Eric Nelson,
Your message is awaiting moderation. Thank you for participating in the discussion.
Hi all,
Probably worth knowing the context. I put this list together as part of a newsletter that goes out to UK based .NET developers - many typically have no or very limited exposure to open source frameworks and libraries. Hence I wanted to try and get a spectrum of stuff in there - and felt that some of the more well known stuff such as NHibernate didn't need an explicit mention and could be found from Fluent NH (Stefan - I do like the analogy though)
You can check out the full newsletter at www.microsoft.com/uk/msdn/flash/20090617.htm
You can also hear a related podcast at geekswithblogs.net/iupdateable/archive/2009/06/...
P.S. And moq did get mentioned in the editorial :-)
Re: so we like the shiny gadget on the dashboard,
by Stefan Wenig,
Your message is awaiting moderation. Thank you for participating in the discussion.
Yes, that helps. Without that context, this article here presents it like a top-23 list of the best OSS projects, which it clearly is not supposed to be.
Re: so we like the shiny gadget on the dashboard,
by Abel Avram,
Your message is awaiting moderation. Thank you for participating in the discussion.
Stefan, I did not try to present the list as the best OSS .NET projects. It is just Eric's list which might be helpful for some developers.
Huh?
by Roger Alsing,
Your message is awaiting moderation. Thank you for participating in the discussion.
.NET projects?
What is the PHP excel lib doing there?
And as stated before, why isn't NHibernate or Castle in there?
Re: so we like the shiny gadget on the dashboard,
by Stefan Wenig,
Your message is awaiting moderation. Thank you for participating in the discussion.
You're right, you're not saying that. Sorry, I guess in the absence of any explanation of what the motivation of that list is, I was just assuming.
Re: so we like the shiny gadget on the dashboard,
by Eric Nelson,
Your message is awaiting moderation. Thank you for participating in the discussion.
And the important bit is.... don't we have a lot of great open source frameworks and libraries for windows developers :-)
Re: so we like the shiny gadget on the dashboard,
by Abel Avram,
Your message is awaiting moderation. Thank you for participating in the discussion.
Yes Eric, that's what matters in the end. Thanks for keeping an eye on InfoQ and this thread.
MEF is already on list-Look at #7
by Lalit Kale,
Your message is awaiting moderation. Thank you for participating in the discussion.
Hi !
Anybody watched that MEF on list..as well as on "Other great projects submitted which did not make it into the final list" list. So much of contradiction is going on here!
Re: MEF is already on list-Look at #7
by lionel molas,
Your message is awaiting moderation. Thank you for participating in the discussion.
Some other projects like ninject or automapper are really cool too.
Re: Huh?
by Aayush Puri,
Your message is awaiting moderation. Thank you for participating in the discussion.
Was wondering if NHibernate still the ORM solution choice in .Net 3.5 (compared to Entity Framework).