Marko Apfel - Afghanistan/Belgium/Germany

Management, Architecture, Programming, QA, Coach, GIS, EAI

  Home  |   Contact  |   Syndication    |   Login
  168 Posts | 2 Stories | 132 Comments | 4 Trackbacks

News



Twitter | LinkedIn | Xing

Article Categories

Archives

Post Categories

BizTalk

C#

Enterprise Library

SAP

SQL Server

Technologie

Problem

A continuous integration server should only have a minimal toolset installed. This ensures that no unwanted libraries could affect the build and other steps.

Clearly that with this slogan also StyleCop should not be installed to the CI server. But we wanna have this analysis as an part of the whole build.

Solution

Prerequisites

First at all we need the necessary files from StyleCop (the core assemblies and the target).

The easiest way is to download the MSI of StyleCop, install the software and copy the relevant artifacts to a tools folder in our developer tree.

For a default installation you will find the assemblies under the program files folder and the target file under the MSBuild folder. You could copy all together to one folder.

Now deinstall the software to ensure, that your project local environment works (no impact from installed stuff).

Configure your environment

To run StyleCop from the target file it must be edited. Change the third line

from

<UsingTask AssemblyFile="$(ProgramFiles)\StyleCop 4.6\StyleCop.dll" TaskName="StyleCopTask"/>

to

<UsingTask AssemblyFile="StyleCop.dll" TaskName="StyleCopTask"/>

Configure your csproj files

In the last step we bore up all csproj files of our solution. Next to the c#-compile target we call the StyleCop target:

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\..\..\tools\StyleCop\StyleCop.targets" />

Take care to adjust the correct relativ folder from csproj- to target- file.

posted on Monday, November 7, 2011 10:32 PM