Every developer has the need to use good tools from time to time. It makes the developer’s job a lot easier.
In my experience as a .NET developer these are the really essential tools every (.NET) developer should have ( and use of course ;)).
Red-Gate’s .NET Reflector ( http://www.red-gate.com/products/reflector/ ).
This tool is in my opinion the swiss army knife of a .NET developer. It was created by Lutz Roeder and recently acquired by Red-Gate software. There still is a free community version available. With this tool you can traverse all objects and types in an assembly ( and the assemblies referenced therefrom ) and, for instance, disassemble the IL back into a CLS compliant language ( C# / VB ). This tool can do much more than this, and is propably the tool I myself use most.
NUnit / Microsoft Visual Studio 2008 Unit Tests
Every developer should create unit tests to ensure their code works as it should. Both NUnit and the Unit test option in VS2008 are in my experience quite good. Though it are 2 different frameworks, they both share the ease of use when implementing the unit tests. And both can work from within the IDE ( though if I’m not mistaken, NUnit needs a third party add-on ). You can find the latest version of NUnit here. The biggest advantage of NUnit to VS2008 Unit test is the cost of NUnit, it’s free. ( You don’t even need Visual Studio, as long as you can compile code it will work )
I don’t want to stick feathers up microsoft’s buttocks, but this tool is quite nice. Though it’s not really necessary to use this tool, I’ve grown quite fond of it. This tool checks the compiled assemblies IL code for compliance with the Microsoft .NET Framework Design Guidelines. Though at first it’s a bit awkward to get many disapprovements on your code, it seems complying to these guidelines makes your code better, both in design and ( this might be just my imagination ) performance.
Where FxCop checks your code in a compiled state, Stylecop walks over the code and gives you advice on how to alter your code to comply to the microsoft coding guidelines. At some times it’s a really annoing pain in the ass, especially when it comes to documenting all properties, methods, types and so on.. In the end it makes your code better understandible and better readable. Especially when your code will be used by others or when you need to edit the code after a while you’ll be glad you documented every item.
There will be many other tools that assist developers, in doing a hell-of-a very good job, but at the moment these are the ones I use a lot. Maybe in time I’ll change this list 😀