从程序中运行Roslyn分析器

问题描述 投票:-1回答:1

要求背景:

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

问题

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

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

问题

  1. 是否可以从代码运行Roslyn-Analyzers?
  2. 如果是,怎么样? (非常感谢示例代码)
c# visual-studio roslyn code-analysis roslyn-code-analysis
1个回答
1
投票

我想你想要两件事之一:

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

您可以使用新的nuget软件包为您的新版本提供分析仪,然后用户可以查看所有分析仪警告并修复它们。您不需要运行它们,当用户开始处理解决方案时,它们将运行。

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

我发现this series of blog posts对于学习分析仪非常有用

© www.soinside.com 2019 - 2024. All rights reserved.