in src/PortingAssistantExtensionServer/Services/PortingService.cs [28:58]
public async Task GetPackageAnalysisResultAsync(Task<SolutionAnalysisResult> SolutionAnalysisResultTask)
{
try
{
Task<SolutionAnalysisResult> solutionAnalysisResultTask = SolutionAnalysisResultTask;
var solutionAnalysisResult = await solutionAnalysisResultTask;
PackageToAnalysisResults = solutionAnalysisResult.ProjectAnalysisResults
.Where(project => project.PackageAnalysisResults != null)
.SelectMany(project => project.PackageAnalysisResults.Values
.Select(package => package?.Result)).ToList();
ProjectPathToDetails = solutionAnalysisResult.ProjectAnalysisResults
.Where(projectAnalysisResult => !string.IsNullOrEmpty(projectAnalysisResult.ProjectFilePath))
.Select(p => new ProjectDetails()
{
ProjectName = p.ProjectName,
ProjectFilePath = p.ProjectFilePath,
ProjectGuid = p.ProjectGuid,
ProjectType = p.ProjectType,
FeatureType = p.FeatureType,
TargetFrameworks = p.TargetFrameworks,
PackageReferences = p.PackageReferences,
ProjectReferences = p.ProjectReferences,
IsBuildFailed = p.IsBuildFailed
})
.ToDictionary(p => p.ProjectFilePath, p => p);
}
catch (Exception ex)
{
_logger.LogError(ex, "get diagnostics failed with error: ");
}
}