23

を使用して残りのアセンブリを分析しながら、すべての FxCop 分析から完全な名前空間を除外することは可能SuppressMessageAttributeですか?

私の現在のケースでは、LINQ to SQL によって生成された一連のクラスがあり、多くの FxCop の問題を引き起こしています。明らかに、FxCop 標準に一致するようにそれらすべてを変更するつもりはありません。クラスを再生成しました。

FxCop に生成コードの解析を抑制するプロジェクト オプションがあることは知っていますが、LINQ 2 SQL によって作成されたエンティティ クラスとコンテキスト クラスを生成コードとして認識しないようです。

4

4 に答える 4

18

クラスに[GeneratedCode]属性のタグを付ける場合、次の MSDN 投稿で説明されているように、FxCop で /ignoregeneratedcode フラグを使用できます。

FAQ: 生成されたコードに対して FxCop が警告を発しないようにするにはどうすればよいですか?

クラスに属性を追加するには、新しいコード ファイルを追加し、そこに新しい部分クラスを実装する必要がある場合があります。

[GeneratedCode]
public partial class MainDataContext { }

新しいファイルを作成するときは、すべてを正しい名前空間に追加してください。

于 2010-09-01T14:32:41.107 に答える
5

[GeneratedCode] attributeクラスに a を追加します。
編集:他の回答で説明されているように、同じ名前の部分クラスを意図していました。

于 2010-09-01T14:32:07.267 に答える
1
<Assembly: SuppressMessage("Microsoft.Design", _
    "CA1020:AvoidNamespacesWithFewTypes", _
    Scope:="namespace", _
    Target:="Missico.IO")> 

GlobalSuppressions.vbプロジェクトのルートにステートメントを入れます。

私が持っているのはVBの例だけです。

于 2010-03-08T21:33:50.500 に答える
1

生成されたコード属性を使用してください。これについては、コード分析チームのブログ投稿を参照してください。

名前空間の上部にあるこれは、トリックを行う必要があります。

[GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
于 2008-12-09T15:34:54.263 に答える