FXCop, also known as Visual Studio Code Analysis, is a tool that examines compiled .NET applications for design, performance, and security issues. Based on the .NET Framework Guidelines, it not only helps catch mistakes but can also serve as a teaching tool.
While FXCop does offer a lot of analysis rules, not all of them are applicable to a given project. David Kean has revealed the minimum set of rules used by the Developer Division at Microsoft. David writes,
There are two rule sets; the first, Public Rule Set, is for assemblies that design for public consumption. That is, assemblies that are designed to have user take a reference to them in their own projects (such as System.Core.dll). The second, Non-Public Rule Set, is for assemblies are not designed to be consumed by users (such as FxCopCmd.exe).
A stand-alone version of FXCop is available free from GotDotNet. You can also get it with an expanded rule set as part of Visual Studio Team Edition for Software Developers.