如何设置 stylecop.json 为 Sonarqube 创建 Stylecop Anayzers 插件?

How to set stylecop.json creating Stylecop Anayzers plugin for Sonarqube?

我想在 SonarQube 中为 Roslyn 使用 StyleCop 分析器的规则,为了做到这一点并遵循创建的文档,我下载了 SonarQube Roslyn SDK,并生成了插件。

在我的开发环境中,我有一个 JSON 文件 (stylecop.json) 添加配置:

{
  "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
  "settings": {
    "documentationRules": {
      "companyName": "XXXXXX",
      "copyrightText": " My Copyright (c) ",
      "xmlHeader": true,
      "fileNamingConvention": "metadata"
    },
    "namingRules": {
      "allowedHungarianPrefixes": ["as", "do", "id", "if", "in", "is", "my", "no", "on", "to", "ui"]
    }
  }
}

此配置与 VS2015 完美配合,但是当我 运行 分析时,插件没有得到它,我知道我在创建插件时没有设置该文件。我可以重新创建插件,但如何为插件创建过程设置 JSON 文件?

Roslyn 分析器可以从文件加载参数。这个 API 并不太严格,这意味着您可以轻松编写一个需要单个文件、多个文件或您能想到的任何参数加载的分析器。我们还没有在 SonarQube Roslyn API 中对此进行概括,因此无法定义其他文件。

但是,您可以设置您的项目以使用您的 stylecop.json,就像您在图片中没有 SonarQube 时一样。然后 SonarQube Scanner for MsBuild 将从 SonarQube 服务器拉下分析器 DLL,在构建期间将它们添加到您的项目中,并且最新版本不会清除 AdditionalFiles 属性,因此您的 stylecop.json 将被传递给分析器。