Jenkins 如何为声纳指定StyleCop设置?

Jenkins 如何为声纳指定StyleCop设置?,jenkins,gradle,sonarqube,stylecop,Jenkins,Gradle,Sonarqube,Stylecop,我试图在Jenkins客户端上通过gradle sonarrunner插件运行StyleCop(4.7.47)。它运行正常,但由于某些原因,它没有使用我的Settings.StyleCop文件,我在其中禁用了一些规则,因此Sonar(3.7)报告了我不感兴趣的违规行为 c#项目的结构如下: /Root Src/ Project1/... Project2/... MySolution.sln Settings.StyleCo

我试图在Jenkins客户端上通过gradle sonarrunner插件运行StyleCop(4.7.47)。它运行正常,但由于某些原因,它没有使用我的Settings.StyleCop文件,我在其中禁用了一些规则,因此Sonar(3.7)报告了我不感兴趣的违规行为

c#项目的结构如下:

/Root
    Src/
        Project1/...
        Project2/...
        MySolution.sln
        Settings.StyleCop
    build.gradle
我的Settings.StyleCop文件如下所示:

<StyleCopSettings Version="105">
  <GlobalSettings>
    <StringProperty Name="MergeSettingsFiles">NoMerge</StringProperty>
  </GlobalSettings>
  <Analyzers>
    <Analyzer AnalyzerId="StyleCop.CSharp.DocumentationRules">
      <Rules>
        <Rule Name="ElementDocumentationMustBeSpelledCorrectly">
          <RuleSettings>
            <BooleanProperty Name="Enabled">False</BooleanProperty>
          </RuleSettings>
        </Rule>
      </Rules>
    </Analyzer>
  </Analyzers>
</StyleCopSettings>
我还尝试指定了
sonar.stylecop.analyzers.settings属性
,尽管前面提到这不能用于指定活动规则

当我在VisualStudio中运行StyleCop时,它确实使用了正确的规则

有没有办法验证StyleCop从何处获取设置?我错过了什么明显的东西吗


感谢您的帮助。

声纳的规则通过in Sonar启用/禁用(以及设置规则优先级)


由于Sonar的体系结构,必须在插件运行之前填充规则,因此插件本身无法在分析代码时直接更改冲突状态或优先级。该插件在服务器启动时填充可用规则,但Sonar StyleCop插件不提供通过QualityProfile以外的默认值修改规则设置的方法。

谢谢。这不是我所希望的答案,但它澄清了问题。这意味着您必须手动确保本地环境和生成环境使用相同的StyleCop设置。SonarQube的维护人员认为SonarQube应该是运行规则的主要来源,等等。但是,包括SyleCop插件在内的几个插件提供了一种将SonarQube设置导出为其他应用程序可用的配置文件的方法。如果转到QualityProfiles页面并单击“Permalinks”选项卡,StyleCop链接将下载带有Sonar设置的StyleCop配置文件。但我不能说我试过这个。
property "sonar.language" , "cs"
property "sonar.sources" , "Src"
property "sonar.dotnet.visualstudio.solution.file" ,"Src/MySolution.sln"
property "sonar.dotnet.key.generation.strategy", "safe"
property "sonar.sourceEncoding" , "UTF-8"