微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过 Roslyn API 获取分析器结果

如何解决通过 Roslyn API 获取分析器结果

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。