Как подавить правило FxCop DoNotCatchGeneralExceptionTypes с помощью SupressMessage?
У меня есть код, который ловит все и регистрирует его. Обычно я этого не делаю, но пишу обработчик HTTP и хочу вернуть соответствующий код HTTP. Во всяком случае, я помещаю следующее в верхней части моего метода:
[SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", Justification = "We just log the exception and return an HTTP code")]
FxCop, похоже, игнорирует это, что очень расстраивает. Тем более, что он также игнорирует все мои сложные слова переопределения тоже!
Есть идеи, почему он это делает? Я использую FxCop 10, который является частью Windows 7/.NET 4 SDK.
1 ответ
- В обозревателе решений щелкните правой кнопкой мыши свой проект и выберите " Свойства".
- В окне " Свойства" выберите вкладку " Сборка ".
- В текстовом поле Условные символы компиляции введите CODE_ANALYSIS.
- В коде, в котором вы хотите подавить определенные сообщения, добавьте пространство имен System.Diagnostics.CodeAnalysis в раздел using.
- В FxCop щелкните правой кнопкой мыши сообщение, которое вы хотите подавить, и выберите " Копировать как" -> "SuppressMessage".
- В своем коде C# вставьте атрибут SuppressMessage в свой код.
Ваше сообщение SupressMessage выглядит правильно, поэтому это может быть отсутствующий символ условной компиляции!
Надеюсь, это поможет, по крайней мере, работает на моей машине;) Привет, Том.