StyleCop.Analyzers 集成到 GitLab

StyleCop.Analyzers integration into GitLab

我有一个 C# 项目 (.NET Core 3.1),我使用了一个 nuget 包 StyleCop.Analyzers。它在构建期间分析我的代码,如果发现我的代码有任何问题,它会显示各种警告。现在我想知道是否可以将其检查集成到 GitLab CI piplene 中?我想 运行 在 GitLab 中每次构建后进行此分析。我该怎么做?

"run this analise after each build"

如果您通过在项目中引用 NuGet 包来使用 StyleCop.Analyzers 中的代码分析,则代码分析将在编译(构建)期间执行。无需在每次构建后进行分析,因为此时分析已经与构建一起完成。您可以在 Visual Studio 错误列表或 CLI 中看到的样式规则偏差引起的任何错误也将出现在 GitLab CI 管道输出中,因为最终它们都是由同一个 .NET 编译的SDK.

要正确配置代码分析,请将 StyleCop.Analyzers 包引用添加到您的 project/s:

  <ItemGroup>
    <PackageReference Include="StyleCop.Analyzers" Version="1.1.118">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
  </ItemGroup>

此外,您可以使用 .ruleset 文件进一步配置 StyleCop.Analyzers 行为,例如选择退出一些烦人的样式规则:

<RuleSet Name="Rules for ClassLibrary21" Description="" ToolsVersion="15.0">
    <Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
        <Rule Id="SA0001" Action="None" />
    </Rules>
</RuleSet>

必须在项目文件设置中明确指定规则集文件:

  <PropertyGroup>
    <CodeAnalysisRuleSet>..\..\StyleCop.ruleset</CodeAnalysisRuleSet>
  </PropertyGroup>

阅读 official documentation or have a look at the rule set file I use in my library on GitLab 中有关规则集的更多信息以供参考。