Thursday, June 11, 2009

StyleCop and FxCop integration in VS 2008 Express

Recently I took interest in improving the quality of the applications I write by forcing them to be checked by StyleCop and FxCop during the build.

StyleCop was really easy to implement - just one line, well documented, nothing one would struggle with:

1. Install StyleCop using MSI installer
2. Add the following line to your project right after the line that imports C# tasks (by default it's nearly at the end of the project file!):

<Import Project="$(ProgramFiles)\MSBuild\Microsoft\StyleCop\v4.3\Microsoft.StyleCop.targets" />

FxCop on the other hand wasn't so easy to find out but it was just as easy to manage:

1. Install FxCop using MSI installer
2. Add the following task to <AfterBuild> target:

<Exec Command='"$(ProgramFiles)\Microsoft FxCop 1.36\FxCopCmd.exe" /file:"$(TargetPath)" /console'/>

That's it. Alternatively you could just add a post-build event using project options editor. This event would then look like that:

"%ProgramFiles%\Microsoft FxCop 1.36\FxCopCmd.exe" /file:"$(TargetPath)" /console

Pretty easy, ain't it?

Here you have a ready-to-check example of the above.



Ryan said...

Thanks mate. I found this extremely useful.

Friction Point Studios said...

Great post.

Although now I have 300 warnings to get through ;-)

You don't know a free equivalent to ReSharper do you?

Matthias Hryniszak said...

Unfortunately no. And even if there was one it is not allowed/possible to install addons in the Express editions.
I've heard that the next generation of Express tools will allow for that - will see how things will play out.

Friction Point Studios said...

Bugger, we've just started using it at work and StyleCop + ReSharper makes for some great code.