FxCop
I’m a fan of static analysis because whem I’m writing code in a statically typed language I want to get the most of it. So I’m a huge fan of IntelliJ IDEA’s code analysis and quick-fixes. Also FindBugs is useful and also open source. Of course there are even more sophisticated analyses, but it catches tons of common errors.
So in the .NET-Word I’m using the inspections of Resharper and FxCop. FxCop is completely free and a must-have tool. FxCop tells you where you violated naming and coding-conventions, if you have inconsistencies in your API, if you’re making dangerous calls and reports even spelling errors. It is really aggressive, nitpicking and strict. However most of the reported stuff is worth to fix.
An extremely cool feature is that FxCop tells you fixing the problem will break dependent code or not. So if you have a public API which is already use everywhere, you just can fix the non-breaking changes. Of course on a fresh project or a new part of existing one you should fix everything before its to late.
Also a handy feature is of FxCop is that it tells you a link to the right MSDN-article for reported problems. On this MSDN-Page there is normally a more detailed description and an example how its done right.