I am using a Flag extended attribute. When reading values from Project - I only receive information if the value is True. Otherwise the extended attribute is not on the Tasks that I get back when I call SelectAllChildTasks - is this a bug or how do I get values for False ?
Can you please share the source file along with used sample code and snapshot of issue incurring so that we may proceed further to help you better.
Work Plan Mon Jun 22 2020 4_12 PM.zip (31.7 KB)
_project = new Project(file.FileMemoryStream);
public List GetAllNonRootLevelTasks()
// remove project root task from all tasks
List tasks = _project.SelectAllChildTasks().Where(task =>
return task.ParentTask != null;
When I call this GetAllNonRootLevelTasks method, the extended attribute for the Flag column is ONLY on the task if the user has changed the flag to YES. So I cannot pick up values.
We have observed your requirements and have created an issue with ID TASKSNET-4220 has been created as investigation to further investigate this. We will share the feedback with you as soon as the issue will be addressed.
We have investigated the issue in detail on our end. This is not a bug in Aspose.Tasks and the API has implemented the feature the same way as MS Project does.
If value for Flag extended attribute is absent in task.ExtendedAttributes collection, you can consider the value of the attribute equal to “No”. This mimics MS Project approach to Flag extended attributes.
For example, if we save the project to xml using MS Project, only “Yes” values are exported:
So you would encounter the same problem if you use XML produced by MS Project to iterate over values of extended attributes.