2

C# ルール「このキャストを削除し、インターフェイスを編集して不足している機能を追加する」を無効にしたいと考えています (csharpsquid:S3215)。一般的ではありませんが、"something\Business\Genome\*.cs" フォルダー内のすべてのファイルに対して) ("something" は 1 つまたは複数のディレクトリである可能性があります)

この SonarQube プロジェクトで「複数の条件で問題を無視する」オプションを使用しようとしていますが、正しい設定がわかりません (または、この機能が単に機能していない可能性があります)。

これまでに試した組み合わせ:

ルール キー パターン ファイル パス パターン
csharpsquid:S3215 **/Business/Genome/*.cs
csharpsquid:S3215 **\Business\Genome\*.cs
csharpsquid:S3215 **//Business//Genome//*.cs
*:S3215 **/Business/Genome/*.cs
*:S3215 **\Business\Genome\*.cs
*:S3215 **//Business//Genome//*.cs

一致していないのがルール キー パターンなのか、ファイル パス パターンなのかさえわかりません... :-/

更新 08.03.16: 昨夜、いくつかの追加テストを実行しました。プロジェクトレベルの代わりに、これをグローバルレベルで構成し、使用しました

ルール キー パターン ファイル パス パターン
csharpsquid:S3215 **/?usiness/?enome/*.cs

ケーシングの問題を除外するには: どちらも成功しません。

それから私はちょうど使用しました

ルール キー パターン ファイル パス パターン
csharpsquid:S3215 **/*.cs

それがまったく機能するかどうかを確認するために、実際に機能しました。どういうわけか私の道は間違っているに違いありませんが、方法がわかりません。

更新 08.03.16 (2):ビルド サーバーのログからの 1 行です。

08:57:50.854 情報 - 0/658 ファイルが分析され、分析が開始されました: C:\Program Files (x86)\Jenkins\workspace\Tools .Net (Nightly)\Tools\Business\Genome\Absence.cs

ケースの問題ではないことは確かです。しかし、私は別の疑いを持っています。ソリューション全体をスキャンすると、明らかに SonarQube はそのソリューション内のすべてのプロジェクトをコンポーネントとして扱い、各コンポーネント/プロジェクトを個別にスキャンします。スキャンパスがプロジェクトに関連している可能性はありますか? ログにもこれが表示されるため:

08:57:43.701 情報 - プラグイン stylecopanalyzers を読み込んでいます
08:57:43.924 情報 - ベース ディレクトリ: C:\Program Files (x86)\Jenkins\workspace\Tools .Net (Nightly)\Tools\Business\Genome
08:57:43.924 情報 - 作業ディレクトリ: C:\Program Files (x86)\Jenkins\workspace\Tools .Net (Nightly)\.sonarqube\out\.sonar...
08:57:44.103 情報 - ソース パス: Absence.cs、...
4

1 に答える 1

2

ファイルの包含/除外は、各 SonarQube モジュール (つまり、Visual Studio プロジェクト) への相対パスに基づいています。したがって、「ビジネス」が VS プロジェクトの場合、これは実際には機能しません。

于 2016-03-08T17:43:59.740 に答える