質問

Visual Studio のコード分析 (FxCop) を使用し、メッセージを抑制したい場合、3 つのオプションがあります。

  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")]

GlobalSuppressions.cs で次のようなことを実行したいと考えています。

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

しかし、それは可能でしょうか?

役に立ちましたか?

解決

複数の違反を 1 回で抑制 メッセージの抑制 属性は正式にはサポートされていません。どうやら、これは仕様によるようです。

私も同意しますが、時には煩わしいかもしれませんが、この決定に反対とは言えません。なぜなら、属性は「はい、私は自分が何をしているのか知っています」と言わせるための彼らのやり方であり、それは評価されるべきものだからです。ケースバイケースです。

他のヒント

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

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

そこで私が行ったのは、リポジトリ ソース コレクションの最上位フォルダーに単一のカスタム ルール セット ファイルを作成し、各 Visual Studio プロジェクトでこのファイルを参照することです。これは、どうしても我慢できないコード分析ルールを抑制できる中心的な場所が 1 つあることを意味します。しかし、気が変わった場合、または悪いコーディング習慣を見直す必要があると判断した場合は、非常に簡単にルールを再度有効にして、取得するコード分析メッセージの数を確認することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top