如何在诊断完全分析编译后 运行 方法?

How to run a method after a diagnostic has analyzed a compilation completely?

我正在实施 DiagnosticAnalyzer 以使用 roslyn 编译器库分析 CompilationWithAnalyzers 对象。我希望在单个诊断分析器耗尽时添加一个事件,但一直找不到这样的钩子。我见过的唯一类似事件是 AnalysisContext.RegisterCompilationAction,但它在 编译 完成时触发,而不是分析。

有这样的事件吗?还有其他方法可以实现相同的目标吗?

我们目前没有任何允许分析器与分析引擎交互的 API。我们希望保留引擎的实现细节,我们可以随着时间的推移进行更改和改进。有关引擎今天如何工作的更多信息,您可以查看 here