2

ローカルの SonarQube 5.1.1 サーバーをセットアップしました。C# プラグイン (バージョン 4.1) と MSBuild ランナー (バージョン 1.0) もインストールしました。次に、現在取り組んでいるプロジェクトの .NET コードベースで 2 つの別々の実行を実行しました。

  1. sonar-runner と C# プラグインの使用
  2. MSBuild ランナーの使用

両方の実行は、CLI を介して行われました。ただし、実行すると、非常に異なる結果が得られました。以下に例を示します。最初の実行では、SonarQube はコード行の数を約 956 000 と計算しましたが、2 回目の実行では、約 434 000 と「わずか」であると計算されました。後者は、いくつかの自動生成ファイルをスキップします。これらのファイル/クラスは、社内で開発された古い ORM ツールによって生成されました。

別の方法で指定されていない限り (包含/除外パターンを使用して)、MSBuild SonarQube ランナーは特定のプロジェクト内のすべての .cs ファイルを分析すると思いましたが、明らかにそうではありません。

誰かが同じ「問題」を経験したことがありますか? また、分析から自動的に除外される自動生成ファイルの種類を知っている人はいますか?

4

1 に答える 1

2

Sonar .NET documentationでいくつかの情報を見つけました。これには、とりわけ次のように記載されています。

"特定のタイプのプロジェクトは分析から自動的に除外されます。たとえば、Microsoft Fakes はビルド中に追加のプロジェクトを生成します。これらの自動生成されたプロジェクトは分析されません。 "

" .resx ファイルから生成された xxx.Designer.cs ファイルなど、Visual Studio 内のカスタム ツールによって生成されたファイルは、分析から自動的に除外されます。 "

内部 ORM ツールは後者のカテゴリに分類されると思います。したがって、これらのファイルが分析から除外されている理由が説明されています。

于 2015-08-19T05:13:28.680 に答える