public async Task AssessSolutionAsync()

in src/PortingAssistantExtensionServer/Services/AnalysisService.cs [50:93]


        public async Task<SolutionAnalysisResult> AssessSolutionAsync(AnalyzeSolutionRequest request)
        {
            try
            {

                // Clean up the existing result before run full assessment
                Cleanup();
                _request = request;
                var startTime = DateTime.Now;
                runId = Guid.NewGuid().ToString();
                var triggerType = "InitialRequest";
                var solutionAnalysisResult = await _client.AnalyzeSolutionAsync(request.solutionFilePath, request.settings);
                if (PALanguageServerConfiguration.EnabledMetrics)
                {
                    Collector.SolutionAssessmentCollect(
                    solutionAnalysisResult,
                    runId,
                    triggerType,
                    _request.settings.TargetFramework,
                    PALanguageServerConfiguration.ExtensionVersion,
                    PALanguageServerConfiguration.VisualStudioVersion,
                    DateTime.Now.Subtract(startTime).TotalMilliseconds);
                }
                CreateClientConnectionAsync(request.PipeName);
                return solutionAnalysisResult;
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, $"Analyze solution {request.solutionFilePath} with error: ");
                return new SolutionAnalysisResult
                {
                    ProjectAnalysisResults = new List<ProjectAnalysisResult> {
                        new ProjectAnalysisResult
                        {
                            PreportMetaReferences = new List<string>(),
                            MetaReferences = new List<string>(),
                            ExternalReferences = new ExternalReferences(),
                            ProjectRules = new RootNodes(),
                            PackageAnalysisResults = new Dictionary<PackageVersionPair, Task<PackageAnalysisResult>>()
                        }
                    },
                };
            }
        }