Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at
Common Class Library

I've come to the conclusion that the information that I have to offer to the .NET community is old news.  Someone has already done everything that I've been doing with .NET so how can I best use my knowledge and insight to help in any way possible?

With all the different code libraries (PageHelpers, Nini, etc...) and applications (like DotNetNuke), there are still some functions that you always use in every project.  I have searched the web for this and haven't found anything yet.  Why not start an open source class library that is a repository for common functions?   I started building my own common library for a weight tracking site I created, but I was using code from all over the web.  Why not actually start something that the community could be a part of and get credit for helping?

First things first, what will this library do?  I believe that it would be a library that does what the .NET framework doesn't have built in that has use in many different applications.  There would be a good structure for the namespace naming (Math, Security, Strings, etc...). 

Next would be where to host?  GoogleCode?  SourceForge?  GotDotNet? CodePlex?

A lot of things need to be answered before even starting, but it seems to me that a lot of people would want to use something like this in their applications, but without the mess of adding it every time to your code. 

If anyone is interested in helping out or if you have some good ideas, post them in the comments or contact me via email (wright.NOSPAMnet at my gmail REMOVE dot com)

Posted 01-25-2007 1:59 PM by Stephen Wright
Filed under:



Richard wrote re: Common Class Library
on 01-25-2007 4:12 PM

Jakarta Commons ( is a similar idea, but for Java. I found the Collections and Lang components particularly useful.

I was surpised there wasn't something like this when I started in .NET.

Luke Foust wrote re: Common Class Library
on 01-25-2007 4:23 PM

I think this is an awesome idea!  I definitely have a growing "bag of tricks" that I use on almost every project and have yet to come up with the best way to manage it.  Here are a couple of ideas I have (and I am definitely willing to help out):

1. As you mentioned in your post: A Common Root namespace with all sub sections in their own sub namespace.  Example: Common.Data, Common.Xml, Common.String, Common.Math, Common.Html, Common.Sorting, Common.Collections, etc...

2. Maybe make them available as one assembly or in seperate assemblies (assuming you can prevent each "package" from being dependant on each other.  It would be nice to be able to use just the string methods without having to also include the Xml methods etc.

3. Require Unit tests with all methods/classes added/submitted to the library

These are just a couple of things but I can definitely see the awesome potential in this.

Jeff Perrin wrote re: Common Class Library
on 01-25-2007 4:37 PM

Heh.  For pure VB awesome-ness, try the utility belt:

jayson knight wrote re: Common Class Library
on 01-25-2007 4:57 PM

I'd be willing to participate...have a decent sized utility class toolbelt that I use on a regular basis.

Chris B wrote re: Common Class Library
on 01-25-2007 5:59 PM

Prebuilt regular expression classes. For email addresses, credit cards, zips, phone #s, etc.

Jonathan Wanagel wrote re: Common Class Library
on 01-25-2007 8:54 PM

Sounds like a great project idea, we'd love to have it on CodePlex!

Corey Goldberg wrote re: Common Class Library
on 01-25-2007 10:13 PM

Awesome Idea.

What license would you consider using?  (GPL? BSD? Apache?).. just curious.  Consider that carefully as it impacts future use in various and sometimes unintended ways.

I would be interested in contributing.

Keep us informed of any progress.

Stephen Wright wrote re: Common Class Library
on 01-25-2007 10:37 PM

Looks like we might be able to go somewhere with this.  We might be able to get something set up fairly quickly.

Corey, I'm not too good with figuring out licenses or things of that nature. I haven't had a chance to really look into that.  It would be something that the contributors to the project would have to agree on.  I do see a lot of GPL and BSD but I'd have to see what the best one would be.

I've been trying to come up with a name for this, but it seems like all the good ones are taken, so that's another thing.   I thought of nFlex (for flexible framework).


Jonathan, I wouldn't mind using CodePlex, but I'm pretty partial to using Subversion source control (and I don't have Team System). 

noocyte wrote re: Common Class Library
on 01-26-2007 3:05 AM

I'd love to be involved in this as well!

The license needs to enable us to use it in non-open source projects and we need to be able to modify the code without any restrictions, imo.

I see that Microsoft is using Creative Commons quite a bit, perhaps that's a good starting point? BSD is another nice license, GPL won't work for us...

Just as a side note, the Genghis project provides a lot of functionality for WinForms:

Cool name btw.

Stephen Wright wrote re: Common Class Library
on 01-26-2007 3:19 AM

I came up with a better name, nToolbox, I've set up a space on google code (for subversion usage, if anyone has any good subversion or open source host locations, please post here!!!)

I hope to get this off the ground soon so we can start working on it.

Alex Dresko wrote re: Common Class Library
on 01-28-2007 12:17 PM

I would love to participate in this as well! I know of others who would also be interested!

Glenn wrote re: Common Class Library
on 01-28-2007 5:43 PM

This is a top idea! I, like everyone else, have a common lib project that I port to every application I use.  I'd love to help out in any way I can.

PartialClass wrote re: Common Class Library
on 02-02-2007 1:19 PM

I am willing to participate as well.

By the way, does any one know why im not allowed to post at

About The CodeBetter.Com Blog Network
CodeBetter.Com FAQ

Our Mission

Advertisers should contact Brendan

Google Reader or Homepage Latest Items
Add to My Yahoo!
Subscribe with Bloglines
Subscribe in NewsGator Online
Subscribe with myFeedster
Add to My AOL
Furl Latest Items
Subscribe in Rojo

Member Projects
DimeCasts.Net - Derik Whittaker

Friends of
Red-Gate Tools For SQL and .NET


SmartInspect .NET Logging
NGEDIT: ViEmu and Codekana
NHibernate Profiler
Balsamiq Mockups
JetBrains - ReSharper
Web Sequence Diagrams
Ducksboard<-- NEW Friend!


Site Copyright © 2007 CodeBetter.Com
Content Copyright Individual Bloggers


Community Server (Commercial Edition)