2012-07-06 37 views
17

爲了更好的可讀性,我使用下劃線作爲我的測試方法,並且想要爲整個測試命名空間抑制FxCop錯誤/警告。整個命名空間的SuppressMessage

我怎麼能做到這一點?

我打了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)] 
+2

+1同上......我試着在AssemblyInfo.cs文件相似,它也沒有工作。也許CA1707不能定位到整個庫或名稱空間,而只能定位到成員本身。 – harlam357 2012-08-03 22:06:15

回答

3

我認爲這是不可能的,因爲harlam357已經說過。

3

是的,這不可能與FxCop < = 10.0。

您可以做的是使用自定義規則文件(可能只是爲了您的測試項目)禁用CA1707。

2

如前所述,開箱即不可能。 Imho,這是因爲壓制必須一起完成。

有一種解決方法可以通過FXCop 10Copy As > Module-level SuppressMessage功能手動執行此操作。

缺點,每次命名空間被修改時,您都必須重複此操作,但如前所述,全局抑制應該被隔離。

  1. 中的FxCop 10打開組件(的System.Xml這裏),然後運行分析
  2. 選擇您的命名空間(的System.Xml這裏)
  3. 選擇所有違反規則
  4. 右鍵點擊Copy As > Module-level SupressMessage
  5. 然後將其粘貼在例如GlobalSuppressions.cs

注意:這可以在彙編,命名空間或類型級別完成。

​​3210