2014-11-14 14 views
6

Ich versuche, Builds zum Fehlschlagen zu bringen, wenn sie StyleCop nicht bestehen. Derzeit werden diese nur als Warnungen angezeigt. Ich habe versucht, the documentation here zu folgen.Fehler im StyleCop-Format können nicht als Buildfehler (anstelle von Warnungen) angezeigt werden.

Ich habe meine CSProj-Datei <Import Project="$(ProgramFiles)\MSBuild\StyleCop\v4.7\StyleCop.targets" /> hinzugefügt, die StyleCop korrekt zu enthalten scheint.

Dann habe ich die in meiner csproj-Datei auf false gesetzt. Hier ist der Beginn meiner Csproj Datei:

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> 
    <Import Project="$(ProgramFiles)\MSBuild\StyleCop\v4.7\StyleCop.Targets" /> 
    <PropertyGroup> 
    <StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings> 

Dies verursacht, in Bambus (meine Continuous Integration Server) Warnungen erscheinen, aber keine Fehler. Dasselbe tritt in Visual Studio auf.

Warum erscheinen StyleCop-Fehler immer noch als Warnungen?

+0

Ist es möglich, dass die $ (StyleCopTreatErrorsAsWarnings) in der MSBuild-Befehlszeile überschrieben wird? Wenn Sie Ihren Build mit Diagnose ausführen können, können Sie dies überprüfen. –

Antwort

1

Sie müssen den StyleCop-Import nach der C# Import-Zeile verschieben. Außerdem müssen Sie die Eigenschaft StyleCopEnabled = true in der csproj-Datei hinzufügen