Friday, July 27, 2007

Open source .NET libraries you should be already using

As we know, there are many good, enterprise level, open source libraries, frameworks and projects implemented in Java. Most of them are being ported into different platforms like .NET and PHP, so developers are migrating to the these platforms with their familiar tools. For example, i have been using Ant, JUnit, Log4J, iText and many mores when i was developing in Java, but now i am still using Log4Net and Nunit in my current .NET projects. You can find many more open source .NET alternatives from the following list;
  • AOP.NET (NAop) is an Aspect Oriented Programming (AOP) framework for .NET framework
  • NAnt - NAnt is a Ant like build tool for .NET
  • ZedGraph is a set of classes, written in C#, for creating 2D line and bar graphs of arbitrary datasets. The classes provide a high degree of flexibility -- almost every aspect of the graph can be user-modified. At the same time, usage of the classes is kept simple by providing default values for all of the graph attributes. The classes include code for choosing appropriate scale ranges and step sizes based on the range of data values being plotted. ZedGraph also includes a UserControl interface, allowing drag and drop editing within the Visual Studio forms editor, plus access from other languages such as C++ and VB
  • NCover - A test code coverage tool for C# .NET
  • YetAnotherForum - Yet Another is a opensource discussion forum or bulletin board system for web sites running ASP.NET. It is ASP.NET based with a MS SQL backend database.
  • SharpDevelop - #develop (short for SharpDevelop) is a free IDE for C# and VB.NET projects on Microsoft's .NET platform.
  • NInstall - A project to produce an package that can compete with the commercial installer products
  • StructureMap - StructureMap is a lightweight Inversion of Control (IoC) Container written for .NET development. StructureMap can improve the architectural qualities of an object oriented .NET system by reducing the mechanical costs of good design techniques.
  • BugBye - BugBye is a web-based bugtracking system developed using ASP.NET technology and C# as scripting language
  • log4net - log4net is a tool to help the programmer output log statements to a variety of output targets. log4net is a port of the excellent log4j framework to the .NET runtime.

  • - is an SMTP component written
  • NMail provides an SMTP client & server, POP3 & IMAP4 servers written in C#
  • iTextSharp - iTextSharp is a library that allows you to generate PDF files on the fly.
  • iBATIS.NET helps you create better persistence layers for .NET applications.
  • Personal .NET Portal - is a .NET based Web Portal for personal use. The purpose is to build a Homepage easily. Pages are build through Tabs and Modules.
  • NProfiler - An application profiler for .NET
  • User Story.NET - This project is a tool for Extreme Programming projects in their User Story tracking.
  • RSS Bandit - A desktop news aggregator written
  • NxBRE is the first open-source rule engine for the .NET platform and a lightweight Business Rules Engine (aka Rule-Based Engine)
  • NetCvsLib - NetCvsLib is a CVS client written entirely for the .NET platform. It is implemented as an assembly, and thus can easily be incorporated into other projects.
  • Database Commander - Database Commander is a database manager with user-friendly interface for Windows operation system.
  • NVelocity - NVelocity is a .Net-based template engine. It permits anyone to use the simple yet powerful template language to reference objects defined in .Net code.
  • NUnit - NUnit is a unit-testing framework for all .Net languages. Initially ported from JUnit
  • Maverick.NET - Maverick.NET is a .NET port of Maverick, a Model-View-Controller (aka "Model 2") framework for web publishing. It is a minimalist framework which focuses solely on MVC logic, allowing you to generate presentation using a variety of templating and transformation technologies.
  • SharpWebMail - SharpWebMail is an ASP.NET Web Mail application that is written. It uses a POP3 server as the mailstore and sends mail through a SMTP. It is very simple to configure (Only a few settings in the web.config file). You can compose HTML messages, search your inbox, read complex mime messages and much more.
  • NUnitAsp - NUnitAsp is a tool for automatically testing ASP.NET web pages. It's an extension to NUnit
  • ProntoWiki - is a wiki engine/site written in C# with VWD (Visual Web Developer), using ASP.NET 2.0 with SQLExpress 2005 as the backend. The wiki engine is quick and easy to use, and allows text markup equivalent to that of a rich text editor. It accepts image and file attachments automatically through the web interface. Other features include page preview prior to post/update, user authentication based on roles, a customizable appearance and layout using web parts, history tracking, and search functionality.
  • ScrewTurn Wiki is a fast, powerful and simple ASP.NET wiki engine, installs in a matter of minutes and it's available in different packages, fitting every need. It's even free and opensource.
  • SAX.NET - SAX dot NET is a C# port of the original Java based SAX API specifications.

For detailed lists of open source .NET projects, go to SCharp Source.

Hope it helps ;)

See Also;


troublemaker said...

Great list! We use .NET Entity Objects (NEO) from CodeHaus for a persistance layer. There's also Spring.NET now which is a good port of Spring in the Java world. I've used SharpDevelop for years and the best thing about that is the full integration of lots of open source technologies like Nant, Nunit, Ncover and many others. Another FREE but not open source tool is SourceMonitor. Now if only Mono was as mature as .NET and I could develop in Ubuntu all day :)

Bayarsaikhan said...

Thanks troublemaker,

Spring.NET is the one that must be mentioned, of course.

NHibernate is the one of the best one for persistence.

EtienneT said...


What is it?

A Super High-fidelity Batman Utility Belt. SubSonic works up your DAL for you, throws in some much-needed utility functions, and generally speeds along your dev cycle.

Anonymous said...

Thanks for the list, my contribution is SharpForge it's open source, c#, 2.0 and can help you tame your your collaborative software projects.

Bayarsaikhan said...

Thanks to Anon and EtienneT

Tudor Vlad said...

You have a pretty interesting list!
I'll have to take a deeper look into it, because there is a lot of stuff I'm not familiar with.

Bayarsaikhan said...

You are welcome Tudor ;)

Anonymous said...

This list can't be current since about 60% of the projects listed in this blog are not being maintained anymore. You may want to revisit the list.