Stylecop implementation for the CakeBuild build system.
Switch branches/tags
Clone or download
Ashthos Merge pull request #18 from joaopgmaria/Prevent-Task-Failure
Add DoNotFail and SuppressOutput extension methods
Latest commit ecd2013 Mar 16, 2018



This is a thin wrapper around the standard StyleCop libraries which exposes StyleCop in a manner which can be used by Cake build scripts.

The .dlls included are available directly from The official StyleCop Project page

Note: Mis-reports some C#6 syntax as violations - this is due to the dll versions available. Once 4.7.55 is fully available from stylecop then this issue can be resolved.

#addin "Cake.StyleCop"

var target = Argument("target", "StyleCop");

  .Does(() =>
    // solution file
    var solutionFile = File("MySolution.sln");

    // stylecop settings file
    var settingsFile = File("Settings.stylecop");
    // xml results file
    var resultFile = File("StylecopResults.xml");

    // html report file
    var htmlFile = File("StylecopResults.html");

    StyleCopAnalyse(settings => settings


Merging multiple stylecop result files

A second method is available if you need to merge several result files together to produce one report. This is useful for many CI servers

// html report file
var htmlFile = File("StylecopResults.html");

// reports 
var resultFiles = GetFiles("*.xml");

// will merge the xml files together before producing a single html file
StyleCopReport(settings => settings

Customise the transform

There is a default xslt stylesheet which is used, but if you want to override this with your own, you can pass it to the settings in either method as follows

var xsltStyleSheet = GetFile("mystylesheet.xslt");

StyleCopAnalyse(settings => settings
  .ToHtmlReport(htmlFile, xsltStyleSheet)