May 30, 2007

Free & Open Source .NET Tools

Here's a list of FOSS tools and frameworks that you may find useful when developing .NET software. I've looked at, played with, or used all of these tools over the last few years.

Note that Visual Studio Team suite covers much the same functionality as some of the tools listed below and the there are a number of other commercial tools listed at the very end that may be worth considering.

Here we go...

Visual Studio Tools


CoolComnands - Handy add-in for VS2005
TestDriven.NET - Commercial use requires a license
UnitRun - run unit tests from within VS2005

Build Tools & Version Control


CruiseControl.NET - Continuous Integration build server
NAnt - An alternate to MSBuild
SubVersion - Enterprise level version control.
TortoiseSVN - Shell extension for interacting with subversion repositories

Unit Testing


NUnit - the only real choice for unit testing in .NET
RhinoMocks - mock object framework
TypeMock - an alternate mock object framework

Web Testing


Watin - Web testing in NUnit
Fiddler - HTTP Debugging Proxy
Firebug - Firefox addin that lets you view & make live changes to pages
Charles - HTTP debugging proxy, including speed throttling

O/R Frameworks


NHibernate - save and retrieve objects from a database without writing SQL code (plus a whole lot more!)
ActiveRecord - implementation of the Active Record pattern (uses NHibernate)

Documentation


NDoc - for .NET 1.1
SandCastle - Microsoft's documentation generator. Here's an article on integrating with CC.NET

Issue Tracking


Gemini - Effective Bug Tracking system (written with ASP.NET & NHibernate). License required for commercial use.
Gemini Subversion Integration - Log Subversion commits against a Gemini issue
Jira - Comprehensive bug tracking system (in Java)

Analysis


FxCop - Static code analysis (design rules)
SourceMonitor - Static code analysis (cyclomatic complexity, etc)
NCover - Code coverage. Use with NCoverExplorer in CruiseControl.NET
Reflector - Lutz Roeder's indispensable utility

Miscellaneous


Notepad++ - a great notepad replacement, includes syntax highlighting
Castle Project - Inversion of Control (dependency injection) containers, MonoRail and more
log4net - Logging framework
Aspect# - Aspect oriented programming for .NET
CopySourceAsHTML - copy VS2005 source as HTML. Great when blogging :-)
Paint.NET - You're not still using MSPaint, are you?

Commercial Tools


Re-Sharper - VS2005 productivity enhancer. A must-have!
CodeSmith - the de-facto standard in code generation.
Mercury - Very expensive, but the best test tools you'll find going around by far.
dotTrace - code profiling (performance & memory analysis)
Ants Profiler - code profiling (performance & memory analysis)

1 comment:

  1. Nice list!

    As free web testing tool, I can highly recommend iMacros (http://www.iopus.com/imacros/firefox ). It is kind of similar to Watin, but much easier to use and for Firefox!

    Francis

    ReplyDelete