Recently, during an interview, I was asked about tools I use for .NET development. That was one topic I had way too much information to expound on. Over the years, I accumulated more than a dozen tools that I use on and off during development. Some I came across as a case of need while others on a lark. Without any further ado, here are five of my favorite tools that I use almost on an everyday basis.

ReSharper– If you want to eliminate coding errors and smells, perform on-the-fly code analysis, refactor like you were born to do it, figure out latest syntactic sugars and navigate code like you had the need for speed, this is it. I was hooked when I started using ReSharper four years ago. I do admit that it was quite a shock to turn ReSharper off and find out I stumbling around Visual Studio trying to accomplish some common tasks. Eventually things did come back but yes, addiction can be a problem!

TestDriven.NET – TestDriven.NET is a Visual Studio add-on that does only one thing – Unit Testing and it does that with aplomb. TestDriven.NET pretty much hooks into any Unit Testing engine and enables you to run unit tests right from any method in your code. For those who already use it, “Repeat test run” – now that’s sweet.

WinMerge– Though WinMerge can be used as a standalone text compare tool, where it really shines is as a Visual Studio add-in for text compare and code merge from source control. Just to tell you how much I use it, I can’t remember the last time I used Visual Studio’s own source code compare and merge tool, if it had one.

Lutz Roeder’s Reflector – Ever had those dlls which you wanted to rip open to see the source code, even Microsoft’s proprietary ones? Reflector x-rays them for you. There are some brilliant add-ins as well for Reflector in Codeplex like CodeMetrics, Graphs, DependencyStructureMatrix, SequenceViz and AutoDiagrammer. It’s a real shame RedGate bought Reflector and made it a paid software.

FireBug– If you are in web development, you cannot get by without FireBug. It lets you peek under the covers of a web page and gives you unbelievable control over the entire DOM, whether it’s inspecting or manipulating HTML, JavaScript, CSS and the DOM or figuring out bottlenecks in a page.

There are some more tools which I feel are an absolute must. But that’s fodder for another post.