2009-09-04 8 views

Respuesta

41

Sí.

Para la desactivación, utilice:

#pragma warning disable 0169, 0414, anyothernumber 

donde los números son los identificadores de las advertencias que se pueden leer de salida del compilador.

Para volver a activar los avisos después de una parte particular del código (que es una buena idea) utilizar:

#pragma warning restore 0169, anythingelse 

esta manera usted puede hacer que la salida del compilador limpio, y mantenerse a salvo porque las advertencias solo se suprime para esa parte particular del código (donde se aseguró de no necesitar verlos).

+0

No estoy seguro de si los números se interpretan aquí correctamente. El cero inicial se analiza como 'octal' en general. Por lo tanto, podría ser seguro omitirlo. (aunque no probado) – fmuecke

+1

@fmuecke Parece que funciona de cualquier manera (al menos en el compilador mono). Lo que dices es cierto para los literales en el analizador C#, pero creo que el preprocesador analiza los literales numéricos de manera diferente. – Eliot

+0

@ TamásSzelei Esto solo funciona para SonarLint localmente. Sigo viendo estos errores en los resultados del servidor SonarQube. – ConfusedDeer

5

Hay. Consulte la página MSDN sobre cómo suprimir las advertencias del compilador.

Desde Visual Studio, vaya a las propiedades de su proyecto, seleccione la pestaña de compilación e ingrese el número de advertencia en el campo Suprimir advertencias.

De código, para desactivar las advertencias específicas, puede utilizar la directiva #pragma:

public class MyClass 
{ 
    #pragma warning disable 0168 
    // code 

    // optionally, restore warnings again 
    #pragma warning restore 0168 
    // more code 
} 
14

sí hay se puede utilizar la anotación de advertencia pragma así:

#pragma warning disable 414 
//some code that generates a warning 
#pragma warning restore 414 

omitiendo los números desactiva y restaura todos los códigos de advertencia ...

0

supongo que también podría tratar de revisar el proyecto o propiedades de la solución y establecer su nivel de advertencia a un nivel más bajo más o menos. De lo contrario, las otras respuestas son quizás mejores.

2

Le recomiendo usar el siguiente formulario

#pragma warning disable 649 // Field 'field' is never assigned to, and will always have its default value 'value' 

#pragma warning restore 649 

El comentario en la primera línea se toma de la primera como de la documentación de MSDN para Compiler Warning (level 4) CS0649 . Debido a que las advertencias están numeradas en C#, esta es su única referencia a lo que realmente sucede en el código cuando ve una advertencia desactivada. Colocarlo al final de la línea es la única forma de obtener el motivo para aparecer en la ventana de resultados de búsqueda cuando realiza una búsqueda en toda su solución para advertencia de pragma.

Puede identificar los números de advertencia mirando en la ventana Salida después de construir su proyecto.Asegúrese de que dice Mostrar salida desde: compilación.

Cuestiones relacionadas