I have tried to reproduce this issue at my end using the latest version of Aspose.Tasks for .NET 5.1.0, but was unable to observe this issue. The mentioned fields are visible in the output xml file. Could you please try it with the latest version of Aspose.Tasks for .NET 5.1.0 and let us know your feedback?
If the problem still persists at your end with the latest version of Aspose.Tasks, I would request you to please provide us some sample runnable code in the form of a console application that exhibits this problem. It’ll help us investigate the issue and assist you further.
Before I spend the time to turn the code into a console app could you answer a few questions. Are there any requirements when setting up the root task, task, or project for the manual start, manual end, and manual duration to appear in the XML? Is there anything special I have to do when I write the file? An example would be helpful.
I have attached a .cs file that does most of the work for generating the data.
GetProgramsProject is the method that is initially called from another class located in another file.
Please spare us little time to investigate the issue as we are discussing the issue with the development team. We will soon share our findings with you as soon as some feedback is received.
I have analyzed your code and found that Project.UpdateReferences is not called. If you call this function before saving the project as XML, "ManualStart, ManualFinish and ManualDuration " will be saved in resultant XML.
I would also like to share that these properties were introduced in MSP 2010 whose SaveVersion is 14. If you are creating new project and then writing task and properties, then you must set SaveVersion to 14. Following sample code demonstrates this scenario:
//create a project instance Project newProject = new Project(); newProject.SaveVersion = 14;
If you are using some existing project then you need to check the SaveVersion before adding these properties otherwise these will not be written to resultant XML file. Following sample code demonstrate this test:
//create a project reader instance ProjectReader projectReader = new ProjectReader();
//call read method of project reader object to get project object Project existingProject = projectReader.Read(@“Project1.mpp”);
//Define Tasks Task rootTsk = new Task(); Task task1 = new Task(“Task1”); task1.Start = DateTime.Now; TimeSpan duration = TimeSpan.FromHours(8);