2016-04-27 5 views
3

Ich verwende den SonarQube Scanner für MSBuild 2.0 mit SonarQube 5.4. Ich habe ein SonarQube-Plugin für das Roslyn Wintellect.Analyzers NuGet-Paket auf dem SonarQube-Server hinzugefügt und die Regeln dem Qualitätsprofil hinzugefügt, das von meinem SonarQube-Projekt verwendet wird. Im C# -Quellcode habe ich die "Wintellect003" -Regel mit #pragma deaktiviert (und dann habe ich das SuppressMessage-Attribut sowohl inline als auch dann in GlobalSuppressions.cs versucht). Die Regel wurde in Visual Studio 2015 und msbuild 14 erfolgreich deaktiviert, aber SonarQube respektiert nicht die Tatsache, dass ich die Regel deaktiviert habe (für diese eine Codezeile habe ich die Regel in SonarQube oder im Regelsatz nicht deaktiviert).ignoriert SonarQube isSuppressedInSource?

Ich kann sehen, dass MsBuild.SonarQube.Runner.exe die Unterdrückung, weil in „Ende“ Phase erkennt es erzeugt die RoslynCA.json Datei zu Sonarqube senden und es enthält den folgenden Abschnitt: -

"ruleId": "Wintellect003", 
"kind": "warning", 
"locations": [ 
    { 
    "analysisTarget": [ 
     { 
     "uri": "file:\/\/\/C:\/CS5Tests/Mycode.cs", 
     "region": { 
      "startLine": 920, 
      "startColumn": 17, 
      "endLine": 923, 
      "endColumn": 118 
     } 
     } 
    ] 
    } 
], 
"shortMessage": "'if' statements must have braces", 
"fullMessage": "If and else statements must use braces even for single line results", 
"isSuppressedInSource": true, 

Wie Sie sehen können, ist "isSuppressedInSource" wahr. Leider respektiert SonarQube diese Einstellung nicht. Irgendwelche Ideen?

(Ich habe versucht, den SonarQube-Server anzuhalten, lösche den Ordner "data \ es", um den Cache zu löschen und den SonarQube-Server neu zu starten, aber das hat nicht geholfen).

Antwort

1

Das C# 5.2 Plugin fügt Unterstützung für diese:

https://groups.google.com/d/msg/sonarqube/0gghnIQf3XU/aEMSwMkvBAAJ

Wir möchten 5.2 Sonarqube C# Plugin-Version veröffentlichen.

Was ist neu?

Ausgabe Unterdrückung durch [SuppressMessage] wird nun

unterstützt

Alle FxCop Ausgaben in Sonarqube importiert werden, auch die, die auf Feldern, die nicht auf eine bestimmte Datei zugeordnet werden konnten

Fügt 6 neue Regeln Diese release schließt die Lücke zwischen den Problemen, die Sie in Visual Studio und in SonarQube sehen.

+0

Danke, Mike, Upgrade des C# -Plugins auf 5.2 RC1 löst tatsächlich mein Problem. –

+0

Kein Problem. Froh, dass ich Helfen kann. Bitte markieren Sie diese Antwort als akzeptiert, wenn es Ihnen nichts ausmacht. –