示例#1
0
 public GlobalProjectProperties(ProjectNode project)
 {
     msBuildProject = project.As <Project>();
     dteProject     = project.As <EnvDTE.Project>();
     vsBuild        = project.AsVsHierarchy() as IVsBuildPropertyStorage;
     accessor       = new DynamicPropertyAccessor(this);
 }
示例#2
0
        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);
        }
示例#3
0
        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>());
        }