1. A method for evaluating a project property sheet, comprising acts of: reading a plurality of defined single and aggregate properties from a selected project property sheet, wherein an aggregate property defined in the selected project property sheet appends to a definition or instance of the same aggregate property defined in a project property sheet that the selected project property sheet inherits from; reading from the selected project property sheet, one or more inherited project property sheets, if any, that the selected project property sheet inherits from; storing inherited project property sheets to a queue; adding defined single properties read from the selected project property sheet to a list of single properties; and adding defined aggregate properties read from the selected project property sheet to a list of aggregate properties, wherein adding defined aggregate properties to the list of aggregate properties comprises (i) adding a defined aggregate property to the list of aggregate properties, when the defined aggregate property is not already present on the list of aggregate properties and (ii) appending an instance of the defined aggregate property to instances of a same aggregate property that is already present on the list of aggregate properties, wherein adding defined single properties read from the selected project property sheet to the list of single properties comprises only adding a defined single property to the list of single properties, when the defined single property is not already present on the list of single properties.