Warnungen als Fehler behandeln hat keine Auswirkungen

7

In den Einstellungen meines Projekts in Visual Studio habe ich "Warnungen als Fehler behandeln" auf "Alle" gesetzt. Die Warnstufe ist auf 4 eingestellt. Ich habe das getestet, indem ich absichtlich Code eingeführt habe, der gegen CA1305 verstößt, aber er baut (und baut) erfolgreich auf und gibt eine Warnung zurück. Ich erwartete, dass der Build fehlschlagen und ein Fehler zurückgegeben würde. Ist mein Verständnis falsch?

    
Matt 16.01.2013, 19:25
quelle

2 Antworten

12

Die Codeanalyse verwendet einen anderen Mechanismus, um Warnungen als Fehler zu behandeln. Damit Warnungen zur Codeanalyse als solche behandelt werden, fügen Sie Ihrer Lösung ein neues Regelwerk für die Codeanalyse hinzu. Klicken Sie dazu mit der rechten Maustaste auf Ihre Lösung und wählen Sie "Neues Objekt hinzufügen ...". Suchen Sie nach "Rule Set" und wählen Sie, um einen neuen "Code Analysis Rule Set" hinzuzufügen. Gib ihm einen beliebigen Namen.

Wählen Sie im Regelsatz-Editor die Regeln aus, die Sie in Ihr Projekt aufnehmen möchten, und setzen Sie sie auf Fehler. Sie können wählen, welche Regeln als Fehler und welche als Warnungen behandelt werden sollen.

Legen Sie den Namen für den Regelsatz im Eigenschaftenfenster Codeanalyse-Regelwerk fest und speichern . Öffnen Sie dann den Menüpunkt Analyze->Configure Code Analysis for Solution .

Wählen Sie Ihren Regelsatz "As Error" für Ihre Projekte aus und übernehmen Sie ihn.

    
jessehouwing 16.01.2013, 23:43
quelle
8

Sie können die Eigenschaft "CodeAnalysisTreatWarningsAsErrors" in Ihrer csproj-Datei wie hier beschrieben verwenden:

Ссылка

  

Für Visual Studio 2008 haben wir eine neue MSBuild-Eigenschaft hinzugefügt, mit der Sie alle Code Analysis-Warnungen problemlos als Buildfehler behandeln können. Dies kann beispielsweise nützlich sein, wenn Sie das Auslösen einer Codeanalyseregel erzwingen möchten, um den Build während eines nächtlichen Team Build zu unterbrechen, ohne dass Sie dies für jede Regel einzeln festlegen müssen.

     

Um sie zu verwenden, fügen Sie einfach die Eigenschaft zu Ihrer Projektdatei (oder einer gemeinsamen Zieldatei) hinzu und setzen Sie sie auf true:

%Vor%

Dies kann in Kombination mit <StyleCopTreatErrorsAsWarnings>false</StyleCopTreatErrorsAsWarnings> verwendet werden, was die gleichen Auswirkungen auf StyleCop-Warnungen hat.

    
TiltonJH 20.08.2015 15:51
quelle