通过程序运行罗斯林分析仪

时间:2019-03-25 12:19:18

标签: c# visual-studio roslyn code-analysis roslyn-code-analysis

要求的背景:

我们为客户构建api库(适用于.Net,Java,C / C ++和Python),并在此基础上构建应用程序。随着我们更新api库的发展,我们的客户面临着寻找其源中需要进行更改以能够使用新api库的挑战。因此,我们计划构建一个可以在其源代码上运行的报告工具,并准确告诉他们他们需要对代码进行哪些更改。

问题

就目前仅关注.Net而言,我能想到的最简单的方法是使用内置的Roslyn分析仪。想法是将项目引用更改为新的api库,然后在解决方案上运行分析器。

我被卡住的问题是MSBuild命令行没有选择仅运行分析器(跳过构建)。然后我尝试使用代码调用分析器(这也是首选),因为我添加了nuget包Microsoft.CodeAnalysis.Analyzers,Microsoft.CodeAnalysis.CSharp。但是我无法获得有关如何使用这些软件包使用分析仪的任何信息。

问题

  1. 是否可以通过代码运行Rosyln-Analyzers?
  2. 如果是,怎么办? (非常感谢示例代码)

1 个答案:

答案 0 :(得分:1)

我认为您想执行以下两项操作之一:

  • 编写分析器,可以自动修复代码以使用新的API。
  • 编写一个独立的分析工具来生成报告。

您可以随新版本的新nuget软件包一起提供的分析仪,然后用户可以浏览所有分析仪警告并进行修复。您不需要运行它们,它们将在用户开始使用解决方案时运行。

供用户运行以生成报告的独立工具。如果您想要一份报告,那么您想这样做而不写分析器

我发现this series of blog posts对于了解分析仪很有用