当您使用 Visual Studio 的代码分析 (FxCop) 并想要禁止显示消息时,有 3 个选项。
- 禁止代码中的违规。
- 抑制 GlobalSupression.cs 文件中的违规。
- 禁用项目文件中的违规检查(通过项目 -> 属性 -> 代码分析)。
后者在签入源代码控制时很难查看,并且很难获得所有禁用违规的概览。所以我们想使用选项2。
选项 1 和 2 的问题是每次违规都会获得一条抑制线。例如:
[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "Company.Project.Namespace2")]
[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "Company.Project.Namespace1")]
我们很乐意在 GlobalSuppressions.cs 中做这样的事情:
[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes")]
但这可能吗?