Files will not open in Microsoft Project

Some files created with Aspose.Project cause Microsoft Project to crash when attempting to open them.
I am sending one such file to project@aspose.com

Thank you.

Hello Matt,

Thanks for your consideration and for the file.

I had some experiments with it. Format of file and properties are correct but…

1. If you set Work = ActualWork it’s better to set also both dates ActualStart and ActualFinish at least for ResourceAssignment. And I’d suggest to set also Start and Finish dates of project. Because in most of cases Microsoft Project crashes on loading it. I don’t know why, probably it’s a bug of MS Project.
2. You will have the same problem if you set 0 < ActualWork < Work and Project.ScheduleFrom = FromFinish. MS Project will not crash but Finish date of project will be wrong.

Aspose.Project allows you to set and change any properties of project but you are responsible for correct values which are understandable by Microsoft Project.

Hi,

Thank you for the tips.

On a similar topic:
I have several mpp files that were saved in Project 2002 but cannot be read into Aspose.Project for various reasons. It is quite possible that there is bad data in the files, but they appear to be ok when opened in Microsoft. When there is a good reason for the MPP constructor to fail, could there be a more detailed message explaining why the file could not be read? As it is, I cannot tell what to change when creating the files to make them readable.

I am using the Stream constructor of the MPPFile class.
I have once again sent some files to project@aspose.com

Thanks,
Matt

Hello Matt,

Thank you for the files. I will investigate this problem.

Hello Matt,

Thanks again for non-standard project files.
New hot fix was released. Please check Aspose.Project 1.1.1

Hi,

Thanks, 1.1.1 solved the problem with the first mpp and all of the mpx files.

The second mpp that I sent you (simsi.mpp), however, still cannot be read and gives the error ‘Item has already been added. Key in dictionary: “429” Key being added: “429”’. There could very well be something wrong with this file, but it opens successfully in microsoft. First, can you tell me what is wrong with this file? And second, there will likely be more errors like this in the future, so have you considered including some more user-friendly information in your error messages?

Thanks again for the fixes,
Matt

Hello Matt,

1. simsi.mpp file has 2 tasks with unique ID 429. I don’t know how it’s possible.
I can offer 2 soulutions for such errors. First, we can skip such tasks (or resources or something else) in the Aspose.Project component. Second, we can define new unique ID. I can create new hot fix for that.

2. Sure, we will improve diagnostic information. Thank you.

Hi,

More diagnostic information will be very helpful if we run into any more similar problems. Thank you.

I don’t know how that file was created with two tasks having the same unique id either. Now that I know what the problem is, I found that re-saving the file changes the unique id on one of the tasks, so it’s not a serious problem.

A problem that is somewhat more serious happens when Aspose.Project is used to write an MPX where a task has two predecessors. Those files then can’t be read back in until they have been resaved as mpp.

The error with partial stack trace is
[ArgumentOutOfRangeException: Index and length must refer to a location within the string.
Parameter name: length]
System.String.Substring(Int32 startIndex, Int32 length) +226
Aspose.Project.Relations…ctor(String data) +143
Aspose.Project.Task…ctor(MPXFile file, o record) +382
Aspose.Project.MPXFile.a(String A_0, o A_1) +2190
Aspose.Project.MPXFile.Read(Stream istr) +356

With three predecessors, I get a different error. I haven’t tried with four.

Thanks,
Matt

Hello Matt,

Thank you for the information.
New hot fix was released. Please check Aspose.Project 1.1.2