2012-07-06 18 views
17

Uso guiones bajos para mis métodos de prueba para una mejor legibilidad y deseo suprimir los errores/advertencias de FxCop para todo el espacio de nombres de la prueba.SuppressMessage para un espacio de nombres completo

¿Cómo puedo lograr esto?

jugaba con GlobalSuppressions.cs pero nada funcionó:

[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 Ditto ... Me trató similar en el archivo AssemblyInfo.cs y también no funcionaba. Quizás CA1707 no se puede dirigir a toda una biblioteca o espacio de nombres, sino solo al miembro en sí. – harlam357

Respuesta

3

creo que no es posible, ya que harlam357 ya se dijo.

3

Sí, eso no es posible con FxCop < = 10.0.

Lo que puede hacer, es deshabilitar CA1707 utilizando un archivo de reglas personalizado (tal vez solo para sus proyectos de prueba).

2

Como ya dijimos, no es posible sacarlo de la caja. Imho, está destinado porque suprimir debe hacerse unitariamente.

Hay una solución alternativa para hacer esto manualmente a través del FXCop 10 con la funcionalidad Copy As > Module-level SuppressMessage.

Contras, tendrá que repetir esto cada vez que se modifique el espacio de nombres, pero como ya se dijo, las supresiones globales deberían estar aisladas.

  1. Abra su ensamblaje en FXCop 10 (System.XML aquí) y ejecutar el análisis
  2. Seleccionar el espacio de nombres (System.XML aquí)
  3. Seleccionar todos violado las reglas
  4. clic derecho y Copy As > Module-level SupressMessage
  5. luego pegarlo en un GlobalSuppressions.cs por ejemplo

Nota: esto se puede hacer en el nivel de ensamblaje, espacio de nombres o tipo.

Module-level SuppressMessage