问题描述
我们在解决方案中使用 Microsoft.CodeAnalysis.NetAnalyzer 和 Stylecop.Analyzer roslyn 分析器来检查代码质量。我们被要求向一些利益相关者提供我们运行这些分析器的证据。不幸的是,我们只会在有问题时获得警告/错误列表,但在一切正常时什么也没有。 IE。我需要一份清单,显示所有已执行的检查以及它们通过的检查。
关于如何编写这样的报告有什么想法吗?
(我发现有可能使用 csproj 中的 <ErrorLog>
标记创建一个包含警告/错误的文件。但这里有同样的问题 - 我没有得到在成功的情况下执行检查,仅当发现问题时。)
解决方法
您可以使用 CacheErrorHandler
并使用 <ReportAnalyzer>true</ReportAnalyzer>
选项进行编译以生成 binlog。 binlog 包含规则列表(以及每个规则的执行时间)。请注意,它没有显示每个规则的严重性。因此,您还需要检查所有 /bl
文件和 csproj 以获取这些信息(您可以在 binlog 中搜索 .editorconfig
)。
https://www.meziantou.net/understanding-the-impact-of-roslyn-analyzers-on-the-build-time.htm