【问题标题】:Ignore built-in FxCop rules for some specific cases. Custom FxCop rules?忽略某些特定情况的内置 FxCop 规则。自定义 FxCop 规则?
【发布时间】:2012-03-15 00:37:21
【问题描述】:

我正在使用 Web Api 开发一些异步代码,并且我得到了很多我想抑制的 FxCop 错误。例如,我的控制器中的以下代码会触发这些错误:

  1. 在适当的地方使用属性
  2. MarkMembersAsStatic
  3. DoNotNestGenericTypesInMemberSignatures
public Task<HttpResponseMessage<IEnumerable<Foo>>> GetAsync()
{
}

我不想为整个程序集抑制这些规则,因此抑制代码错误的唯一方法似乎是为每个方法上的每个违反规则添加一个SuppressMessage 属性。有没有更好的方法来抑制错误?我正在考虑自定义 FxCop 规则...是否可以创建类似“忽略 DoNotNestGenericTypesInMemberSignatures for Task&lt;T&gt;”或“忽略从 Bar 类继承的任何类型的这些规则”之类的规则?

【问题讨论】:

    标签: c# .net fxcop


    【解决方案1】:

    不,没有办法让 Microsoft 提供的任何规则有条件地忽略此类特定类型或成员。您有三个基本选择:

    1. 单独禁止每个违规行为,
    2. 对包含“特殊”类型的程序集完全禁用规则,或者
    3. 禁用 Microsoft 提供的规则,但提供能够忽略您的类型的备用自定义规则。

    就个人而言,我会选择 #1,但是 ymmv...

    【讨论】:

      【解决方案2】:

      我相信最接近的答案是 Custom Rule in FxCop to only apply to methods called by particular type's method ?希望这对你有用,否则我会说答案是否定的

      【讨论】:

      • 这就是“关闭”链接的用途,作为另一个问题的副本关闭。如果您不确定,请留下评论,而不是答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多