public ProjectNode(ProjectEntry project, IconProvider iconProvider) : base(project.Project, project.FilePath.ParentDirectory, iconProvider) { ProjectEntry = project; ProjectEntry.LoadComplete += project_LoadComplete; var solution = ProjectEntry.GetRoot() as Solution; if (solution != null) { solution.Settings.StartupProjects.InsertedItem += StartupProjects_InsertedItem; solution.Settings.StartupProjects.RemovedItem += StartupProjects_RemovedItem; } if (project.HasProject) { ImageIndex = SelectedImageIndex = (_iconProvider = iconProvider).GetImageIndex(project); _propertiesNode = new PropertiesNode(iconProvider); if (project.Project is IAssemblyReferenceProvider) _referencesNode = new ReferencesNode(project.Project as IAssemblyReferenceProvider, iconProvider); } if (project.IsLoaded) Populate(); }