通过 Roslyn API 获取分析器结果

问题描述

我的公司一直在使用 Roslyn API 开发静态分析工具,因为它处于测试阶段。目前我们使用 Microsoft.CodeAnalysisMicrosoft.CodeAnalysis.Workspaces.MSBuild 版本 3.6.0,我们的工具使用 MSBuildWorkspace 打开项目,并遍历语法树以收集句法和语义信息。

我当前的任务是在项目上运行分析器包并收集它们的结果,这就是我被卡住的地方。我能够使用 SemanticModel.GetDiagnostics()Compilation.GetDiagnostics() 获得编译器警告甚至隐藏消息,但是如果项目启用了 FxcopAnalyzersSonaranalyzer.CSharp,我无法在任何地方找到它们的结果。我假设因为我们没有运行完整的构建,所以这些分析器也不会运行。

是否有解决方案可以运行分析器并通过我们的设置通过代码获取结果?如果我们能够启用额外的分析器,该项目本身不包括在内,那就太好了。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)