private async System.Threading.Tasks.Task <(List <CoverageLine> coverageLines, string reportFilePath)> RunAndProcessReportAsync(string[] coverOutputFiles, CancellationToken vsShutdownLinkedCancellationToken) { var reportOutputFolder = coverageOutputManager.GetReportOutputFolder(); vsShutdownLinkedCancellationToken.ThrowIfCancellationRequested(); var result = await reportGeneratorUtil.GenerateAsync(coverOutputFiles, reportOutputFolder, vsShutdownLinkedCancellationToken); vsShutdownLinkedCancellationToken.ThrowIfCancellationRequested(); logger.Log("Processing cobertura"); var coverageLines = coberturaUtil.ProcessCoberturaXml(result.UnifiedXmlFile); vsShutdownLinkedCancellationToken.ThrowIfCancellationRequested(); logger.Log("Processing report"); string processedReport = reportGeneratorUtil.ProcessUnifiedHtml(result.UnifiedHtml, reportOutputFolder); return(coverageLines, processedReport); }