70

読みやすくするためにテスト メソッドにアンダースコアを使用し、テスト名前空間全体の FxCop エラー/警告を抑制したいと考えています。

どうすればこれを達成できますか?私は遊んだGlobalSuppressions.csが、何もうまくいかなかった:

[module: System.Diagnostics.CodeAnalysis.SuppressMessage(
    "Microsoft.Naming", "CA1707:IdentifiersShouldNotContainUnderscores",
    Scope = "namespace", Target = "Company.Product.Tests")]

[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage(
    "Microsoft.Naming", "CA1707:IdentifiersShouldNotContainUnderscores",
    Scope = "namespace", Target = "Company.Product.Tests")]
4

6 に答える 6

5

次のルールを含む .editorconfig ファイルを使用して、特にテスト プロジェクトの特定の警告を無視することができました (これらは常に "Tests.cs" で終わる命名規則に従います)。

[*Tests.cs]
dotnet_diagnostics.CA1707.severity = none

私の答えの詳細はこちら

于 2020-04-08T00:26:02.690 に答える
2

Yes, that's not possible with FxCop <= 10.0.

What you can do, is to disable CA1707 using a custom rules file (maybe just for your test projects).

于 2012-12-05T18:53:47.693 に答える
2

すでに述べたように、箱から出すことはできません。私見、それは抑制を一元的に行う必要があるためです。

FXCop 10機能を使用して手動でこれを行う回避策がありCopy As > Module-level SuppressMessageます。

短所として、名前空間が変更されるたびにこれを繰り返す必要がありますが、既に述べたように、グローバルな抑制は分離する必要があります。

  1. FXCop 10 (ここではSystem.Xml ) でアセンブリを開き、分析を実行します。
  2. 名前空間を選択します (ここではSystem.Xml )
  3. 違反したルールをすべて選択
  4. 右クリックしてCopy As > Module-level SupressMessage
  5. GlobalSuppressions.cs次に、たとえばに貼り付けます

注: これは、アセンブリ、名前空間、または型レベルで実行できます。

モジュールレベルの SuppressMessage

于 2013-08-19T13:12:07.750 に答える
-1

harlam357がすでに言ったように、それは不可能だと思います。

于 2012-09-13T08:06:11.153 に答える