Interesting Projects

This page is simple list of links to projects that interest me in one way or another. I keep it here for reference and it was started a while ago when Jeff Atwood wrote a post about the Open Source community in the .NET world with the intention of donating money to projects nominated by his readers. Many of these links come from that page and I haven’t stopped adding to the list since. Feel free to add more or correct me through the comments.

SQLite (ADO.NET driver)
“SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine. “

“SubSonic is a toolset that helps a website build itself. At it’s core it is:
* A Data Access Layer (DAL) builder that requires no code on your part, it builds itself at compile-time with a full object layer and strongly-typed collections
* A complete utility toolset, complete with Rails-like scaffolding, migrations (DB Versioning), and code generators
* A dynamic query tool, that lets you use SQL Server and the Enterprise Library without having to know SQL
* An OR Mapper that extends to views and stored procedures so you’re not locked into the OR/M thing ”

Castle Project
“Castle is an open source project for .net that aspires to simplify the development of enterprise and web applications. Offering a set of tools (working together or independently) and integration with others open source projects, Castle helps you get more done with less code.”

File Helpers Library
The FileHelpers are a free and easy to use  .NET library to import/export  data from fixed length or delimited records in files, strings or streams. Interesting approach to strongly typed processing of delimited and fixed length text files.

“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.”

Commerce Starter Kit
SQL Server based eCommerce engine

“For the first time on the Microsoft platform a free user and developer friendly cms that makes it quick and easy to create websites – or a breeze to build complex web applications”

iTextSharp, PDFsharp
“iTextSharp is a port of the iText, a free Java-Pdf library.”
“PDFsharp is the Open Source library that easily creates PDF documents from any .NET language. The same drawing routines can be used to create PDF documents, draw on the screen, or send output to any printer.”

The Zip, GZip, BZip2 and Tar Implementation For .NET
“#ziplib (SharpZipLib, formerly NZipLib) is a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform. It is implemented as an assembly (installable in the GAC), and thus can easily be incorporated into other projects (in any .NET language). The creator of #ziplib put it this way: “I’ve ported the zip library over to C# because I needed gzip/zip compression and I didn’t want to use libzip.dll or something like this. I want all in pure C#.”

SourceGrid – Open Source C# Grid Control
“SourceGrid is a free open source grid control. Supports virtual grid, custom cells and editors, advanced formatting options and many others features”

“Lucene.Net is a source code, class-per-class, API-per-API and algorithmatic port of the Java Lucene search engine to the C# and .NET platform utilizing  Microsoft .NET Framework.  ”

Great Photoshop replacement and a great example of a .NET “real world application”.

.netTiers is a set of open source code generation templates that simplify the tasks of creating customized Application Tiers for your Microsoft.Net applications in just a few minutes.

“Features an Entity Definition Language known as E# (E Sharp). E is for Entity and # is a reference to C#, from which its syntax is based.
The Entity Definition Language (EDL) focuses not on objects, or business objects, but instead on ‘Entities’. An Entity may actually be made up of many objects however the exact implementation of those objects is not a concern of Entity Definition Languages. EDL focuses instead on higher level concepts such as Relationships between Entities, Business Rules and Responsibilities of Entities. EDL must specify data field information for Entities, however data access is not a concern of EDL.”

“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. We have kept the framework similar in spirit to the original log4j while taking advantage of new features in the .NET runtime. For more information on log4net see the features document.”

“NAnt is a free .NET build tool. In theory it is kind of like make without make’s wrinkles. In practice it’s a lot like Ant.”

Nunit, MbUnit
“NUnit 2.0 is an excellent example of idiomatic design. Most folks who port xUnit just transliterate the Smalltalk or Java version. That’s what we did with NUnit at first, too. This new version is NUnit as it would have been done had it been done in C# to begin with. ”
“MbUnit is an extensible unit testing framework originally developed by Peli and JamieCansdale. Now an opensource project under the leadership of AndrewStopford. Check the growing list of MbUnit Users.”

NProf / NProfiler / Prof-It for C#

Rhino Mocks
A dynamic mock object framework for the .Net platform. It’s purpose is to ease testing by allowing the developer to create mock implementations of custom objects and verify the interactions using unit testing.

NHibernate for .NET
NHibernate is a port of Hibernate Core for Java to the .NET Framework. It handles persisting plain .NET objects to and from an underlying relational database. Given an XML description of your entities and relationships, NHibernate automatically generates SQL for loading and storing the objects. Optionally, you can describe your mapping metadata with attributes in your source code.

SharpMap is an easy-to-use mapping library for use in web and desktop applications. It provides access to many types of GIS data, enables spatial querying of that data, and renders beautiful maps. The engine is written in C# and based on the .Net 2.0 framework. SharpMap is released under GNU Lesser General Public License.

XPCC / XP Common Controls, Ascend Windows Forms Controls
Desktop controls for those who cannot afford the commercial thing.

“The  iBATIS Data Mapper framework makes it easier to use a database with Java and .NET applications. iBATIS couples objects with stored procedures or SQL statements using a XML descriptor. Simplicity is the biggest advantage of the iBATIS Data Mapper over object relational mapping tools.”

“CruiseControl.NET is an Automated Continuous Integration server, implemented using the Microsoft .NET Framework.”

“The Regulator is an advanced Regular expressions testing tool, featuring syntax highlighting and web-service integration with’s database of online regular expressions.”

“WatiN (pronounced “what-in”) stands for Web Application Testing in dotNet. Inspired by Watir, WatiN enables web application testing, through Internet Explorer on a Windows platform, expressed in any .Net language.”

“StructureMap is a Dependency Injection framework that can be used to improve the architectural qualities of an object oriented system by reducing the mechanical costs of good design techniques. StructureMap can enable looser coupling between classes and their dependencies, improve the testability of a class structure, and provide generic flexibility mechanisms. Used judiciously, StructureMap can greatly enhance the opportunities for code reuse by minimizing direct coupling between classes and configuration mechanisms.”
“…Spring.NET is an open source application framework that makes building  enterprise .NET applications easier…”

PostSharp Enhances .NET Assemblies

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s