【问题标题】:How can i disable analyzer suppression for custom analyzers in VisualStudio?如何在 Visual Studio 中禁用自定义分析器的分析器抑制?
【发布时间】:2017-03-30 16:12:26
【问题描述】:

与许多寻求禁用分析器警告的请求相反,我在这里尝试不同的方法 - 我编写了一个 ConfigureAwait-Analyzer,以强制开发人员在工具库中指定 configureawait 以防止异步死锁。

分析器属于“错误”类别而不是警告 - 只有一个特定问题。 VisualStudio 提供抑制此分析器的功能,我显然不想成为错误的选项。

我如何影响(关闭)这种行为?

【问题讨论】:

  • AFAIK,你不能。您可以创建一个分析器来寻找抑制,但也可以抑制一个分析器。此外,不要忘记您的用户始终可以选择根本不使用您的分析仪。他们控制着他们的源代码,而不是你。
  • @KrisVandermotten 通过使用源代码控制,我可以防止有人进行此类更改。不过,我无法影响他们在 IDE 中按的内容
  • 听起来您想阻止人们签入错误代码。通常,这可以通过在持续集成 (CI) 服务器上运行分析器来解决。您将拒绝未通过 CI 检查的代码更改。
  • 如果您可以控制他们的源代码控制服务器,那么您就可以控制他们的源代码。在 CI 服务器上运行分析器。定期扫描代码以获取抑制。除此之外,使用传统的人力资源方法让你的员工做你想让他们做的事情。如果他们拒绝,您可以随时终止他们的工作 ;-) 开个玩笑,我的意思是这不是 技术 问题。

标签: roslyn roslyn-code-analysis


【解决方案1】:
    private static DiagnosticDescriptor Rule = new DiagnosticDescriptor(DiagnosticId, Title, MessageFormat, Category, DiagnosticSeverity.Error,
        isEnabledByDefault: true,
        description: Description,
        customTags: new[] { WellKnownDiagnosticTags.NotConfigurable });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    • 2017-06-30
    • 2012-02-24
    • 1970-01-01
    • 2012-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多