有没有办法识别未使用或陈旧的FxCop消息抑制?

Dan*_*ane 10 .net fxcop visual-studio

我们使用FxCop的全局抑制来抑制旧代码中发现的规则违规.旧代码我的意思是在我们开启代码分析之前几年编写的代码.我们修复了新代码中的违规行为 我们无法一次性修复旧代码中的违规行为,因此我们使用了抑制.

随着时间的推移,我们的全局抑制文件变得臃肿 通常,当签名在旧方法上发生更改时,先前的抑制将变为无效,因为它不再与代码匹配.我们创建了新的抑制来忽略旧的违规,但通常会留下旧的SuppressMessage属性.

有人知道如何识别与代码不匹配的SupressMessage声明吗?对于这个问题,是否有人知道如何识别无效的SuppressMessage属性,因为没有违反的压力?

我想可能存在可能识别未使用的抑制的编译器或FxCopCmd警告或日志消息.如果没有,那么有人知道脚本或VS扩展吗?

谢谢.

Nic*_*oiu 2

为此,您可以使用独立的 FxCop UI 应用程序。将“上次运行所见”列添加到“源中排除”结果选项卡。分析后,对于在分析运行期间未发现相应违规的任何源内抑制,此列将显示错误值。为了最大限度地提高结果的可靠性,您应该确保使用与从 Visual Studio 运行分析时使用的同一组规则程序集进行分析。

顺便说一句,如果您希望在发现“陈旧”抑制时能够破坏您的构建,您可能需要考虑在https://connect.microsoft.com/visualstudio/feedback/details/277253/add-mechanism-进行投票用于检测不必要的抑制消息属性实例