В Visual Studio я могу выбрать параметр «Обрабатывать предупреждения как ошибки», чтобы предотвратить компиляцию моего кода при появлении каких-либо предупреждений. Наша команда использует эту опцию, но есть два предупреждения, которые мы хотели бы сохранить как предупреждения.
Есть возможность подавить предупреждения, но мы НЕ хотим, чтобы они отображались как предупреждения, так что это не сработает.
Похоже, что единственный способ добиться желаемого поведения - это ввести список всех номеров предупреждений C # в текстовое поле «Конкретные предупреждения», за исключением двух, которые мы хотим рассматривать как предупреждения.
Помимо головной боли при обслуживании, самым большим недостатком этого подхода является то, что некоторые предупреждения не имеют номеров, поэтому на них нельзя ссылаться явно. Например, «Не удалось разрешить эту ссылку. Не удалось найти сборку" Данные .... "»
Кто-нибудь знает, как это сделать лучше?
Разъяснение для тех, кто не сразу понимает, почему это полезно. Подумайте о том, как работает большинство предупреждений. Они говорят вам, что в коде, который вы только что написали, что-то не так. На их исправление уходит около 10 секунд, и это сохраняет базу кода более чистой.
Предупреждение «Устаревшее» сильно отличается от этого. Иногда для его исправления нужно просто использовать новую сигнатуру метода. Но если весь класс устарел, и вы используете его, разбросанный по сотням тысяч строк кода, на исправление может потребоваться несколько недель или больше. Вы не хотите, чтобы сборка ломалась так долго, но вы определенно хотите видеть предупреждение об этом. Это не просто гипотетический случай - это случилось с нами.
Буквальные предупреждения "#warning" также уникальны. Я часто хочу проверить это, но не хочу ломать сборку.