8

私はアプリケーションで作業しており、デモ用にいくつかのクラスを開発しています。これらのクラスは将来削除されることを私は知っています。

これらの警告に時間を費やしたくないので、それらのクラスのすべてのstylecop警告を無視することは可能ですか?

検索しましたが、stylecopの設定(これは他のクラスにも影響します)または特定のルール(すべての警告を無視したい)を介してのみ無視できることがわかりました。

4

5 に答える 5

23

上部に次のヘッダーを追加することで、StyleCopをだましてファイルをまったく処理しないようにすることができます。

//------------------------------------------------------------------------------
// <auto-generated>
// Well, not really. This is just a trick to get StyleCop off my back.
// </auto-generated>
//------------------------------------------------------------------------------
于 2013-02-08T09:38:30.103 に答える
15

StyleCop 4.4.0以降では、単一の抑制属性を使用して、ルール名前空間内のすべてのルールを抑制することもできます。これは、ルールのCheckIDとルール名を単一のアスタリスクに置き換えることで示されます。次のコード例は、内部クラス内のStyleCopのデフォルトのドキュメントルールをすべて抑制します。この場合、StyleCopは、外部クラスにドキュメントがないことを示す違反にフラグを立てますが、内部クラスとそのコンテンツのすべてのドキュメントルールを無視します。

public class OuterClass
{
    [SuppressMessage("StyleCop.CSharp.DocumentationRules", "*")]
    public class InnerClass
    {
        public void MyUndocumentedMethod
        {
        }
    }
}

http://stylecop.soyuz5.com/Suppressions.html

于 2013-02-08T09:53:44.613 に答える
13

私が今使った答えをくれたBartłomiejMuchaに感謝します。私が発見したように、「*」は特定のルールに対して適切に機能しますが、カテゴリごとに抑制を追加する必要があります。完全なセットは次のとおりです。これらをクラスの最上位にコピーすると、すべてのStyleCopエラーが抑制されていることがわかります。

[SuppressMessage("StyleCop.CSharp.NamingRules", "*", Justification = "Reviewed. Suppression is OK here.")]
[SuppressMessage("StyleCop.CSharp.LayoutRules", "*", Justification = "Reviewed. Suppression is OK here.")]
[SuppressMessage("StyleCop.CSharp.MaintainabilityRules", "*", Justification = "Reviewed. Suppression is OK here.")]
[SuppressMessage("StyleCop.CSharp.OrderingRules", "*", Justification = "Reviewed. Suppression is OK here.")]
[SuppressMessage("StyleCop.CSharp.ReadabilityRules", "*", Justification = "Reviewed. Suppression is OK here.")]
[SuppressMessage("StyleCop.CSharp.SpacingRules", "*", Justification = "Reviewed. Suppression is OK here.")]
[SuppressMessage("StyleCop.CSharp.DocumentationRules", "*", Justification = "Reviewed. Suppression is OK here.")]
internal class MyClass 
{
    // ...
}
于 2014-02-04T16:33:24.440 に答える
1

StyleCopがファイル上で実行されないようにする場合は、http://stylecop.codeplex.com/wikipage?title = Using%20StyleCop%20on% 20Legacy%に記載されているExcludeFromStyleCop属性を使用して、.csprojファイルでそのファイルを除外するようにマークできます。20Projects&referringTitle=Documentation

于 2013-02-08T13:22:17.117 に答える
0

コードのブロックに属性を追加することで、ルールを抑制できます。以下にリンクされているブログ投稿のクラスの簡単な例を次に示しますが、さまざまなメンバーで個別に行うことができます。

[SuppressMessage("Microsoft.StyleCop.CSharp.DocumentationRules", "SA1600:ElementsMustBeDocumented")]
public class MyUndocumentedClass
{
    public void MyUndocumentedMethod {}
}
于 2013-02-08T09:37:38.310 に答える