2009-02-08 30 views
21

En mi aplicación, tengo un buen número de entidades que tienen campos que obtienen sus valores establecidos por reflexión. (En este caso, NHibernate los está configurando). Me gustaría deshacerme de las advertencias "x nunca está asignada a, y siempre tendrá su valor predeterminado 0", para que pueda detectar más fácilmente las otras advertencias. Me doy cuenta de que puedes rodearlos en las directivas pragma, pero AFAIK tienes que hacer esto para cada uno. ¿Hay un proyecto amplio o una solución amplia que podría hacer esto?Suprimir globalmente las advertencias del compilador C#

+0

¿Alguna razón por la que simplemente no pondría #pragma warning disable 169 en la parte superior del archivo de código fuente? Suprime por el resto del archivo. –

+0

++ a eso, mucho mejor, ya que deja en claro que este archivo contiene un montón de estos y no absolutamente todo – ShuggyCoUk

+1

En mi caso, estoy usando NHibernate para establecer los ID de las entidades. Entonces en cada objeto de dominio tengo private int _ID; Realmente no quiero tener que establecer las directivas de poner pragma en cada una de las entidades, pero preferiría algo global. – pondermatic

Respuesta

33

Usar la línea de comandos la opción C#/nowarn http://msdn.microsoft.com/en-us/library/7f28x9z3(VS.80).aspx

Para hacer esto dentro de Goto Visual Studio Proyecto propiedades-> Build -> (errores y advertencias) Suprimir las advertencias de y especifique una lista separada por comas de las advertencias que necesitan ser suprimido

+13

Como señala AnthonyWJones a continuación, los identificadores de advertencia del compilador que debe colocar en esta lista separada por comas se encuentran en la ventana de resultados mientras se visualiza la secuencia de compilación. Lo que no se menciona todavía en este hilo es que tengan el formato 'CSxxxx 'y debe eliminar el prefijo 'CS' en los códigos listados para que funcione. –

+0

tan increíble. ¡¡¡Gracias!!! –

8

Abra las propiedades del proyecto, en la pestaña de compilación, ingrese los ID de advertencia que desea suprimir en el cuadro Suprimir advertencias :.

+0

Eso es lo que quiero hacer, pero lamentablemente las ID de advertencia no están escritas con advertencia en el panel de lista de errores de VS2010.Y algunos ID de advertencia están muy cerca pero los códigos son diferentes, quiero decir el error CLS para int y el error CLS para un nombre de clase son diferentes. Si su estándar de codificación no es CLS, ¿qué harás? –

+1

@ DavutGürbüz: Intentando buscar en la ventana de salida al construir – AnthonyWJones

+0

Abrí la construcción detallada, así que es difícil de ver, pero funciona, BC40028 deshabilitó la mayoría de mis advertencias CLS gracias –

1

La etiqueta XML de VC++ para esto es < DisableSpecificWarnings /> con una lista de identificadores numéricos separados por punto y coma. Esto no parece estar documentado en ningún lugar que pueda ver, solo para su información.

Cuestiones relacionadas