No Visual Studio, posso selecionar a opção "Tratar avisos como erros" para impedir que meu código seja compilado se houver algum aviso. Nossa equipe usa essa opção, mas há dois avisos que gostaríamos de manter como avisos.
Existe uma opção para suprimir avisos, mas queremos que eles apareçam como avisos, para que não funcionem.
Parece que a única maneira de obter o comportamento que queremos é inserir uma lista de todos os números de aviso de C # na caixa de texto "Avisos específicos", exceto os dois que queremos que sejam tratados como avisos.
Além da dor de cabeça na manutenção, a maior desvantagem dessa abordagem é que alguns avisos não possuem números e, portanto, não podem ser referenciados explicitamente. Por exemplo, "Não foi possível resolver esta referência. Não foi possível localizar o conjunto 'Dados ....'"
Alguém sabe de uma maneira melhor de fazer isso?
Esclarecendo para quem não vê imediatamente por que isso é útil. Pense em como a maioria dos avisos funciona. Eles dizem que algo está um pouco errado no código que você acabou de escrever. Demora cerca de 10 segundos para corrigi-los, e isso mantém a base de código mais limpa.
O aviso "Obsoleto" é muito diferente disso. Às vezes, corrigi-lo significa apenas consumir uma nova assinatura de método. Mas se uma classe inteira é obsoleta e você pode usá-la espalhada por centenas de milhares de linhas de código, pode levar semanas ou mais para corrigir. Você não quer que a compilação seja quebrada por tanto tempo, mas definitivamente deseja receber um aviso sobre isso. Este não é apenas um caso hipotético - isso aconteceu conosco.
Os avisos literais de "#warning" também são exclusivos. Muitas vezes, quero fazer check-in, mas não quero interromper a compilação.