2008-09-16 15 views
9

Visual Studioのコード分析(FxCop)を使用しているときにメッセージを表示しないようにするには、3つのオプションがあります。FX Cop code解析の違反をグローバルに抑制することはできますか?

  1. コード違反を抑制します。
  2. GlobalSupression.csファイル内の違反を抑制します。
  3. プロジェクトファイルの違反チェックを無効にします(プロジェクト - >プロパティ - >コード分析)。

ソースコントロールにチェックインすると、後でレビューするのが非常に難しく、すべての無効な違反の概要を知ることは難しいです。したがって、オプション2を使用したいと考えています。

オプション1と2の問題は、違反ごとに1つの抑止線が得られることです。例えばのように:

[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "Company.Project.Namespace2")] 
[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "Company.Project.Namespace1")] 

私たちは、このINGのGlobalSuppressions.csような何かが大好きだ:

[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes")] 

をしかし、これは可能ですか?

答えて

9

単一のSuppressMessage属性で複数の違反を抑制することは、正式にはサポートされていません。明らかに、これは設計によるものです。

私は同意しますが、それは時々迷惑をかけるかもしれませんが、私はその決定に同意できません。その属性はあなたに「はい、私がやっていることは知っています。ケースバイケースで評価する必要があります。

1

この質問が投稿され、回答されたので、変更されていると思います。 Visual Studio 2010および2012では、カスタム "ルールセット"ファイルを作成して、抑制するコード分析ルールを指定できます。

http://msdn.microsoft.com/en-us/library/dd380660.aspx

それでは、私がやったことは、私のリポジトリソースコレクションのトップレベルのフォルダ内にある単一のカスタムルールセットファイルを作成することです、と私はそれぞれのVisual Studioプロジェクトでこのファイルを参照します。つまり、私がただ耐えることのできないコード分析ルールを抑制できる中心的な場所が1つあります。しかし、私が心を変えたり、悪いコーディング習慣を再考する必要があると判断した場合は、ルールを有効にして、いくつのコード分析メッセージが表示されるかを確認することができます。

関連する問題