public async Task <List <SolutionProjectInfo> > GetSolutionInfoAsync(string solutionPath)
        {
            using (var workspace = MSBuildWorkspace.Create())
            {
                var solution = await _solutionOpener.GetSolutionAsync(solutionPath, "debug", false);

                return(solution.Projects.Select(p => new SolutionProjectInfo(p.Name, p.FilePath, p.OutputFilePath)).ToList());
            }
        }
        public async Task <Microsoft.CodeAnalysis.Solution> OpenSolutionAsync(string solutionPath, string buildConfiguration, CancellationToken cancellationToken = default(CancellationToken))
        {
            cancellationToken.ThrowIfCancellationRequested();

            var fileExist = _fileSystem.File.Exists(solutionPath);

            if (!fileExist)
            {
                throw new OpenProjectException($"Could not find any solution file at {solutionPath}");
            }

            return(await _solutionOpener.GetSolutionAsync(solutionPath, buildConfiguration, true));
        }