visual studio metricas code analyzers c# .net namespaces code-analysis fxcop

c# - code - metricas visual studio



''SuppressMessage'' para un espacio de nombres completo (3)

Utilizo guiones bajos para mis métodos de prueba para una mejor legibilidad y quiero suprimir los errores / advertencias de FxCop para todo el espacio de nombres de la prueba.

¿Cómo puedo conseguir esto? GlobalSuppressions.cs 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)]


Como ya se dijo, no es posible salir de la caja. Imho, se pretende porque la supresión debe hacerse de forma unitaria.

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

En contra, 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 ejecute el análisis
  2. Seleccione su espacio de nombres ( System.Xml aquí)
  3. Seleccionar todas las reglas violadas
  4. Haga clic con el botón derecho y Copy As > Module-level SupressMessage
  5. Luego pégalo en un GlobalSuppressions.cs por ejemplo

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


Creo que no es posible como ya lo dijo harlam357.


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

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