private string GetTargetFrameworkMoniker(TargetFramework targetFramework, bool isClientProfile = false) { var version = targetFramework.ToDescription(); var clientProfile = isClientProfile ? ClientProfile : String.Empty; return(String.Format(TargetMoniker, version, clientProfile)); }
public async Task UpdateTargetFrameworkForProjects(TargetFramework framework) { await OpenSolution(); var sourceDirectory = Path.GetDirectoryName(_solutionName); var suoFiles = (new DirectoryInfo(sourceDirectory)).GetFiles("*.suo"); if (!suoFiles.Any()) { _logger.Log("No .suo file, closing and reopening solution"); await CloseAsync(); _dte = EnvDTEFactory.Create(_visualStudioVersion); await OpenSolution(); } var iterations = 15; _logger.Log("Number of projects updating from the solution: {0}", _projectWrappers.Count()); _logger.Log("Attempting to upgrade all projects to version {0} in {1} attempts", framework.ToDescription(), iterations); _nonUpdatedProjects.Clear(); _projectWrappers.ToList().ForEach(p => _nonUpdatedProjects.Add(p)); for (int i = 0; i < iterations && _nonUpdatedProjects.Any(p => !p.IsSpecialProject); i++) { _logger.Log("************ Attempt {0} ************", i + 1); var projects = _nonUpdatedProjects.ToArray(); Parallel.ForEach(projects, async project => { await AttemptTo(() => { UpdateProject(project, framework); }); }); } await SaveAsync(); await CloseAsync(); }
private string GetTargetFrameworkMoniker(TargetFramework targetFramework, bool isClientProfile = false) { var version = targetFramework.ToDescription(); var clientProfile = isClientProfile ? ClientProfile : String.Empty; return String.Format(TargetMoniker, version, clientProfile); }