public GlobalProjectProperties(ProjectNode project) { msBuildProject = project.As <Project>(); dteProject = project.As <EnvDTE.Project>(); vsBuild = project.AsVsHierarchy() as IVsBuildPropertyStorage; accessor = new DynamicPropertyAccessor(this); }
public UserProjectProperties(ProjectNode project) { this.project = project; msBuildProject = project.As <Project>(); dteProject = project.As <EnvDTE.Project>(); vsBuild = project.HierarchyNode.HierarchyIdentity.Hierarchy as IVsBuildPropertyStorage; if (msBuildProject == null || vsBuild == null) { tracer.Warn(Strings.UserProjectProperties.NonMsBuildProject(project.Text)); } accessor = new DynamicPropertyAccessor(this); }
public override IEnumerable <string> GetDynamicMemberNames() { var msb = project.As <Project>(); if (msb != null) { return(msb.AllEvaluatedProperties .Select(prop => prop.Name) .Distinct() .OrderBy(s => s)); } return(Enumerable.Empty <string>()); }