让我们为这个诊断报告一些诊断和注册代码修复。
private static void OnCompilation(CompilationAnalysisContext context) {
var compilation = context.Compilation;
var diagnostic = Diagnostic.Create( Rule, (Location) null );
context.ReportDiagnostic( diagnostic );
}
public sealed override Task RegisterCodeFixesAsync(CodeFixContext context) {
var document = context.Document;
//var span = context.Span;
var diagnostic = context.Diagnostics.Single();
RegisterCodeFix( context, $"Fix compilation", diagnostic, Action );
Task<Solution> Action(CancellationToken cancellationToken) {
return Task.FromResult( document.Project.Solution );
}
}问题是:没有执行代码修复操作的方法,没有显示灯泡。即使我能执行它,这里的文档也是空的。
那么,是否有可能对编译级的诊断进行代码修复?
发布于 2020-12-21 17:55:42
https://stackoverflow.com/questions/65386028
复制相似问题