В нашем процессе мы включили все правила, а затем мы должны обосновать любые исключения как часть нашего процесса проверки. Зачастую просто невозможно исправить ошибку с точки зрения сроков или ошибки, возникшей в результате ошибки (иногда это происходит, особенно если ваша архитектура обрабатывает плагины с помощью отражения).
Мы также написали пользовательское правило для глобализации, чтобы заменить существующее, потому что мы не хотели глобализировать строки, передаваемые в исключения.
В общем, я бы сказал, что лучше постараться придерживаться всех правил. В моем текущем домашнем проекте у меня есть четыре конфигурации сборки - один набор, который определяет определение CODE_ANALYSIS, и один набор, который этого не делает. Таким образом, я могу увидеть все сообщения, которые я подавил, просто создав конфигурацию не-CODE_ANALYSIS. Это означает, что подавленные сообщения могут периодически просматриваться и, возможно, адресоваться или удаляться по мере необходимости.
В долгосрочной перспективе я хотел бы сделать шаг сборки, который анализирует атрибуты SuppressMessage на предмет фактических ошибок и выделяет те подавления, которые больше не требуются, но в настоящее время это невозможно с моей настройкой.