En Visual Studio, puedo seleccionar la opción "Tratar advertencias como errores" para evitar que mi código se compile si hay advertencias. Nuestro equipo usa esta opción, pero hay dos advertencias que nos gustaría mantener como advertencias.
Hay una opción para suprimir las advertencias, pero QUEREMOS que aparezcan como advertencias, para que eso no funcione.
Parece que la única forma de obtener el comportamiento que queremos es ingresar una lista de cada número de advertencia de C # en el cuadro de texto "Advertencias específicas", excepto los dos que queremos que sean tratados como advertencias.
Además del dolor de cabeza de mantenimiento, la mayor desventaja de este enfoque es que algunas advertencias no tienen números, por lo que no se pueden hacer referencia explícitamente. Por ejemplo, "No se pudo resolver esta referencia. No se pudo ubicar el ensamblado 'Datos ...'"
¿Alguien sabe de una mejor manera de hacer esto?
Aclarando para aquellos que no ven de inmediato por qué esto es útil. Piense en cómo funcionan la mayoría de las advertencias. Te dicen que algo está un poco fuera del código que acabas de escribir. Tarda unos 10 segundos en solucionarlos, y eso mantiene el código base más limpio.
La advertencia "Obsoleto" es muy diferente de esto. A veces arreglarlo significa simplemente consumir una nueva firma de método. Pero si una clase entera es obsoleta y su uso está disperso a través de cientos de miles de líneas de código, podría tomar semanas o más solucionarlo. No desea que la compilación se rompa durante tanto tiempo, pero definitivamente desea ver una advertencia al respecto. Este no es solo un caso hipotético, esto nos ha sucedido.
Las advertencias literales de "advertencia" también son únicas. A menudo quiero registrarlo, pero no quiero romper la compilación.