public void Update(bool allowRestore) { _logger.LogInformation("Update workspace context"); _workspaceContext.Refresh(); var projectPaths = _workspaceContext.GetAllProjects(); _projectStates.RemoveExcept(projectPaths, id => { _omnisharpWorkspace.RemoveProject(id); _logger.LogInformation($"Removing project {id.Id}."); }); foreach (var projectPath in projectPaths) { UpdateProject(projectPath); } _logger.LogInformation("Resolving projects references"); foreach (var state in _projectStates.GetValues()) { _logger.LogInformation($" Processing {state}"); var lens = new ProjectContextLens(state.ProjectContext, _compilationConfiguration); UpdateFileReferences(state, lens.FileReferences); UpdateProjectReferences(state, lens.ProjectReferences); UpdateUnresolvedDependencies(state, allowRestore); UpdateCompilationOption(state); UpdateSourceFiles(state, lens.SourceFiles); } }