0

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

4

1 回答 1

1

“每次构建后运行此分析”

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

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

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

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

<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>

在官方文档中阅读有关规则集的更多信息,或者查看我在 GitLab 的库中使用的规则集文件以供参考。

于 2021-05-15T09:52:02.343 回答