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

时间:2011-01-18 18:50:15

标签: .net visual-studio fxcop

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

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

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

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

感谢。

1 个答案:

答案 0 :(得分:2)

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

顺便说一句,如果您希望能够在发现“陈旧”抑制时破坏您的构建,您可能需要考虑在https://connect.microsoft.com/visualstudio/feedback/details/277253/add-mechanism-for-detecting-unnecessary-suppressmessageattribute-instances投票。