Ultimate .NET Developer Tools Roundup

Over the last year, I have been compiling a list of all the tools I use on a regular basis. I was amazed how many there are. Below are the tools I find useful to do my job as a .NET developer. I hope you find them useful as well.

Development Tools

Version Control

Subversion
Great SCM tool that is probably the most popular open source SCM around.
http://subversion.apache.org/

Mercurial
A distributed version control system (DVCS) that is gaining popularity.
http://mercurial.selenic.com/

Git
Currently, the most popular open source Distributed Version Control System (DVCS).
http://git-scm.com/

AnkhSVN
Open Source Subversion plugin for Visual Studio.
http://ankhsvn.open.collab.net/

GitExtensions
Windows explorer extensions for Git.
http://code.google.com/p/gitextensions/

GitEtensions Visual Studio Plugin
Visual Studio Plugin to manage git.
http://github.com/spdr870/gitextensions

TortoiseSVN
Windows Explorer extensions for SubVersion.
http://tortoisesvn.tigris.org/

TortoiseGit
Windows Explorer extensions for Git, functions similar to TortoiseSVN.
http://code.google.com/p/tortoisegit/

Testing

RhinoMocks
Great Mocking Framework for .NET.
http://www.ayende.com/projects/rhino-mocks.aspx

Gallio
Test runner that can run NUnit, MSTest, MBUnit, etc, all in one. Really simplifies Continuous Integration when dealing with multiple test frameworks.
http://www.gallio.org/

TestDriven.NET
Visual Studio plugin that really simplifies running tests. Its the fastest test runner I have used.
http://testdriven.net/

NUnit
The standard Unit Testing framework for .NET
http://www.nunit.org/

SpecUnit
Extension to NUnit to help promote BDD (Behaviour Driven Development)-style tests.
http://code.google.com/p/specunit-net/

Machine.Specifications (MSpec)
Testing framework for .NET that promotes BDD style tests, but also seeks to minimize test size by the smart use of lambdas.
http://github.com/machine/machine.specifications

Fluency (previously called FluentObjectBuilder)
C# library I wrote to help create Fluent interfaces (DSLs) in C#. Works well to build configurations or dynamically build objects for testing. I’ll be adding blog posts detailing its use soon.
http://github.com/ChrisEdwards/FluentObjectBuilder

Data Access

SSMS Tools Pack
Plugin for SSMS that adds a good deal of functionality. Includes the ability to script out data, see versions of scripts that have run, etc.
http://www.ssmstoolspack.com/

NHibernate
The most popular ORM for the .NET platform.
http://nhforge.org/

FluentNHibernate
.NET library that exposes fluent intefaces to configure NHibernate and define mappings.
http://fluentnhibernate.org/

NHProf
Profiler for NHibernate written by Ayende Rahien. An absolute must-have for serious NHibernate development.
http://nhprof.com/

Coding Support

Power Commands
Plugin for Visual Studio that allows you to collapse to projects and many other functions.
For Visual Studio 2010: http://visualstudiogallery.msdn.microsoft.com/en-us/e5f41ad9-4edc-4912-bca3-91147db95b99
For Visual Studio 2008: http://visualstudiogallery.msdn.microsoft.com/en-us/df3f0c30-3d37-4e06-9ef8-3bff3508be31

ReSharper
The absolute MUST HAVE tool for any C# developer. If you haven’t used it, you really are missing out. I refuse to work without it.
http://www.jetbrains.com/resharper/

dotTrace
.NET Profiler by the folks that brought us ReSharper. Will pinpoint hotspots in your code that are bottlenecks in performance.
http://www.jetbrains.com/profiler/

GhostDoc
Generates documentation comments in .NET from your method and variable names.
http://submain.com/products/ghostdoc.aspx

CodeKana
Excellent tool to help improve code readability within Visual Studio. Augments syntax highlighting. This is a commercial tool.
http://www.codekana.com/

AutoHotKey
Windows utility that allows custom macros to be used. I use JP Boodhoo’s script to automatically add underscores when I press space while typing test names in Visual Studio.
AutoHotKey: http://www.autohotkey.com/
JPBoodhoo AutoHotKey Test Naming Script: http://blog.jpboodhoo.com/BDDAutoHotKeyScriptUpdateTake2.aspx

StyleCop
A source code analysis tool from Microsoft. Very similar to FXCop, but focused more on the readability. Works great paired with ReSharper.
http://code.msdn.microsoft.com/sourceanalysis

StyleCop for ReSharper
Visual Studio plugin to show StyleCop violations inline in the editor. Integrates with ReSharper such that pressing alt-enter will fix many issues automatically.
http://stylecopforresharper.codeplex.com/

T4Toolbox
Library that simplifies developent of T4 code generation templates.
T4Toolbox: http://t4toolbox.codeplex.com/
Oleg Sych’s blog (has many T4 Tutorials):http://www.olegsych.com/2009/10/t4-toolbox-support-for-visual-studio-2010/

Tangible T4 Editor
Visual Studio Plugin to allow editing of T4 templates with full syntax coloring.
http://t4-editor.tangible-engineering.com/T4-Editor-Visual-T4-Editing.html

Jimmy Bogard’s ReSharper TDD Productivity Plugin
This plugin allows you to jump from code, the the tests that cover it. However it is only supported thru ReSharper 4.5.
http://code.google.com/p/resharper-tdd-productivity-plugin/

Other

Sparx Systems: Enterprise Architect
The best UML modeling tool I have been able to find.
http://www.sparxsystems.com/

dotCover
Code coverage too by JetBrains. Finally, a good alternative to NCover!
http://www.jetbrains.com/dotcover/

NDepend
A very comprehensive code analyzer that generates many code metrics reports.
http://www.ndepend.com/

NCover
.NET code coverage tool. There is a free version, but support is lacking.
http://www.ncover.com/

.NET Reflector
Formerly "Lutz Roeder’s .NET Reflector". Disassembles .NET code so you can view the source of dlls. Has now been purchased by RedGate.
http://www.red-gate.com/products/reflector/

DiffMerge
Excellent diff viewer and 3-way merge tool. Beats the pants off TortoiseMerge. Free for personal use.
http://www.sourcegear.com/diffmerge/

MsBuild
Microsoft’s build tool. Works well for automating builds and test runs. All things CI. Similar to NAnt.
http://msdn.microsoft.com/en-us/library/0k6kkbsd.aspx

MsBuild Community Tools
A collection of community-created tasks for MsBuild. Contains utilities to process zip files, execute sql, and much much more.
http://msbuildtasks.tigris.org/

MSBuild Extension Pack
Another set of tasks for MsBuild.
http://www.msbuildextensionpack.com/

Continuous Integration

TeamCity
Excellent CI server. I have used CCNet and Hudson, and really like TeamCity better than both. Allows full configuration of the build without editing tedious XML configuration files. Its free (with some limitations) and is from JetBrains. Great tool!
http://www.jetbrains.com/teamcity/

CruiseControl.NET
The de-facto standard CI server for the last several years. Works great, but can be difficult to configure.
http://ccnet.thoughtworks.com

Hudson
Java-based CI server that is so easy to install, it is almost unbelievable. Like TeamCity, it allows full configuration of the build without editing tedious XML configuration files.
http://hudson-ci.org/

Blogging

LiveWriter
This is what I use to write blog entries. Haven’t found another tool that compares yet.
http://explore.live.com/windows-live-writer

Syntax Highlighter 2.0
This used to be called the "Google Syntax Highlighter" and is a Javascript-based syntax highlighter. It has a wordpress plugin as well.
http://alexgorbatchev.com/wiki/SyntaxHighlighter

Screencasting & Presenting

TipCam
Free, full-featured screencast recording software.
http://www.utipu.com/app/download

Camtasia
Most popular commercial screencasting tool around.
http://www.techsmith.com/camtasia.asp

Zoomit
Allows you to dynamically zoom in to portions of your screen. Works great to point out code details during presentations.
http://technet.microsoft.com/en-us/sysinternals/bb897434.aspx

Keyboard Jedi
Tool to show hotkey combinations as you type them. Great to use during screencasts or presentations so the users can learn from seeing what keys you are pressing.
http://weblogs.asp.net/rosherove/archive/2007/06/03/train-to-be-a-keyboard-master-with-keyboard-jedi.aspx

Utilities

Process Explorer
Really nice tool to replace Task Manager. Shows much more detail.
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

RDTabs
A remote desktop client that supports tabs across to top for simultaneous connections, and scaling to view higher resolutions on a lower resolution screen.
http://www.avianwaves.com/tech/tools/rdtabs/

VNC
Screen sharing software that works well in remote pairing. I use a dual monitor system with one monitor being mine, and the other, the monitor of the person I am pairing with. Works really well.
http://www.realvnc.com

Screenshot Captor
Free utility to capture full screenshots or portions of the screen. Very similar to SnagIt.
http://www.donationcoder.com/Software/Mouser/screenshotcaptor/

MultiMon Taskbar
Extends your taskbar to your second monitor in XP or Vista.
http://www.mediachance.com/free/multimon.htm

MyDefrag
Windows defrag utility that optimizes boot and often-accessed files to the outer edges of the spindle so they have faster access.
http://www.mydefrag.com/

MiniClip
A windows clipboard tool that remembers the last several thousand snippets that were in your clipboard and maked them available to you via a simple dropdown menu.
http://www.mediachance.com/free/miniclip.htm

WizMouse
Great utility that allows you to scroll a window using your mouse wheel when the mouse is over it, without having to give the window the focus. Once you use it, you will wonder how you ever did without it.
http://antibody-software.com/web/software/software/wizmouse-makes-your-mouse-wheel-work-on-the-window-under-the-mouse/

Synergy
Control another computer’s mouse and keyboard simply by moving your mouse from your screen onto the adjacent computer’s screen. Makes two computers (or 3 or 4 or…) feel like one. I use it across 2 Windows boxes and my MacBook. The clipboard is shared and all!
http://synergy2.sourceforge.net/

SynergyKM (for Mac OSX)
Mac OSX version of Synergy. Much easier than trying to get the standard command line build to work.
http://sourceforge.net/projects/synergykm/

Social

Twhirl
Nice twitter app. They even have a version for Windows Mobile.
http://www.twhirl.org/

TweetDeck
I used Twhirl until I found TweetDeck. Very nice application takes it to the next level. Integrates Twitter, Facebook, and now Google Buzz. It also has an iPhone app (which is great for me since I recently switched to an iPhone).
http://www.tweetdeck.com/

GoogleTalk
Great chat client, but also has high quality voice chat built in. I use this and VNC when pairing remotely. (I have used skype as well).
http://www.google.com/talk/

Skype
Voice chat online. Great for remote pairing.
http://www.skype.com/

Snackr
Nice scrolling ticker for your RSS feeds. Automatically syncs with Google Reader and works on Mac and Windows. I keep this and TweetDeck running on my MacBook at work to keep me plugged in to the collective knowledge of the development community.
http://snackr.net/

Documents & Notes

E Text Editor
TextMate for Windows….need I say more?
http://www.e-texteditor.com/

FreeMind
Open source, cross platform mind-mapping tool. If you haven’t tried a mind mapping tool before, please do. It takes note-taking and idea organization to a whole new level.
http://freemind.sourceforge.net

GraphViz
Visualization of directed graphs. Describe the graph in simple text, and generate the graphics from it. Simple, but powerful. Great for visualizing code dependencies and relationships programmatically.
http://www.graphviz.org/
Mac Gui (+ iPhone): http://www.pixelglow.com/graphviz/

TextPad
Simple, solid text editor that allows you to specify your own syntax highlighting (to a certain degree).
http://www.textpad.com/

Video Training Sites

I found the following sites very useful when trying to learn new technologies quickly.

TekPub
Very reasonably priced, high quality training videos on new development topics.
http://www.tekpub.com/

Dimecasts
Free, 10-minute training screencasts on new .NET technolgies. Perfect for the ADD inflicted developer like myself.
http://www.dimecasts.net/

This entry was posted in .NET, Tools, Utilities and tagged , , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

5 Comments

  1. Jeremy
    Posted June 9, 2010 at 4:03 am | Permalink

    This is a great resource – thanks for making the effort.

    It’s also quite a meal to try and digest all at one go. For an old and rusty developer who’s only recently started to dip toes into the .NET world, it would be great if you could estimate which of these are constant use tools, which are pretty regular, which are occasionally indispensable and which are the ones you that solve occasional crises!

    Sometimes you’re highlighting tools that overlap a lot – it would be great to get a few words on which in each group is your tool of choice and why. Some things – for instance test tools – seem like they’re going to be a major investment in use.

    I’ve already encountered ‘holy wars’ around different tools, so I know a lot of this is bound to be very subjective.

    Anyway, thanks again – you’ve given me a great road map in to .NET development.

  2. Posted June 9, 2010 at 5:43 am | Permalink

    Thanks for the feedback, Jeremy. Yes, several of the tools overlap. I have used them all, and in cases where I had a strong opinion (like TeamCity over CCNet/Hudson) I tried to make mention of that preference. Others, like unit testing frameworks, I have less of a strong opinion, but I wanted to expose the ones I have found useful in case others had not encountered them yet.

    Choosing the best tool for the job is not always black and white, and the best tool for one project is not the best for another. When I was unsure, I wanted to defer the decision to the developer by giving them all the options. Perhaps I should clarify which tools are really mutually-exclusive.

    -Chris

  3. Brij
    Posted June 29, 2010 at 10:36 pm | Permalink

    Great Post
    I would like to add one online utility NetBrij – A search engine for .NET Developers.
    See following:

    http://www.techbrij.com/nb/

  4. Posted June 19, 2011 at 9:42 am | Permalink

    Good set of tools.

  5. Posted April 19, 2013 at 6:58 am | Permalink

    I was looking for Testing Tool and catch up with this blog. I tried TestDriven.NET, it fulfilled my requirement. Thanks! I must say your work is appreciable. I think this blog should be final destination for the people like me who was searching for tool to cop up with their need.

2 Trackbacks

  1. [...] Ultimate .NET Developer Tools Roundup | Chris Edwards – Agile Code … [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>