Getting GUID.Empty Issue for some items in MPP file

While importing an .MPP file, we’ve found that the Aspose.Tasks library returns Guid.Empty for some items. We’re not sure why it happens for some items. Can you guys verify that it’s not a bug in the Aspose.Tasks library? The file that generates the error is located here: https://drive.google.com/open?id=0B-qe2M7yKdzwQXdGTkwzeVZTQ0U.

The exception data is:
System.ArgumentException occurred
HResult=-2147024809
Message=An entry with the same key already exists.
Source=System
StackTrace:
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
InnerException:

It is raised in the following code sequence:
Project project;
using (Stream filesStream = new FileStream( {path to .MPP file}, FileMode.Open))
{
project = new Project( filesStream ); // Exception raised here.
}

This is a blocking issue for us since project file import doesn’t work in these cases. Any idea on what to do here?

Thanks,
Eddy

@officetimeline,

We have investigated the issue at our end. Initial investigation shows that the issue persists. The issue has been logged into our system with ID TASKSNET-1990 for further investigation by our Product team. We’ll update you here once there is any information or a fix version available in this regard.

Thank you! This is impacting our business and is now an urgent issue for us because we’re seeing daily support requests from our users coming in that they cannot import Project files into our product anymore. Can you give me an estimate on how long it will take for you to investigate and get back to us?

BTW, here are the common threads:

  • They all use MS Project 2016
  • They all have Windows 10
  • All newly created/saved files have the same behavior even if it’s only one task/milestone on it.
  • Two of the users confirmed they have this issue since the last MS Project update. However, some said they have the latest version of MS Project but it’s OK.
  • Last MS Project update was on July 5th

Here are more files from end users that fail: https://drive.google.com/drive/folders/0B-qe2M7yKdzwcTI4VTFpMEZyVG8?usp=sharing

Thanks,
Eddy, Office Timeline

@officetimeline,

Thank you for the details. The details have been forwarded to the product team. They will consider it while working on the issue. The fix for this issue has been planned for our upcoming release i.e. Aspose.Tasks for .Net 17.7. The tentative date of publish is start of next month. You will be informed automatically once the release is public and available for download.

Hi. I want to emphasize that this has become business critical for us. It is something that is impacting the majority of our user base and causing quite a bit of pain for our support team as well - so we would be very grateful for an urgent fix.
There are two distinct issues:

  1. When we read some files your library is returning Guid.Empty for some tasks which means we cannot process those tasks and our import service does not function correctly. Please see: AIC Milestone Compare 3.0.3 and 3.6 here: https://drive.google.com/drive/folders/0B-qe2M7yKdzwcTI4VTFpMEZyVG8

  2. We are not able to read a mpp file; when we try to read a mpp file we receive an exception which means our application can’t even begin it’s import service. Please see: Cyber Analytics Maturity.mpp here: https://drive.google.com/drive/folders/0B-qe2M7yKdzwcTI4VTFpMEZyVG8

What would really help us at this point would be to get a sense of when a fix may be published so we can decide whether to wait for your release or to begin exploring alternatives. Also, if it’s possible, we would happily take a pre-release build and test it for you.

Thanks
Tim

@officetimeline,

We have investigated both issues. We are unable to notice/reproduce the GUID issue. We have tested the MPP files provided by you. Following are the results:

AIC Milestone Compare 3.0.3 and 3.6.mpp    ---  No issue found
Cyber Analytics Maturity.mpp     ---  Project reading exception
Project1_test file.mpp                 ---  Project reading exception
Projet global 2017.mpp              ---  Project reading exception
ressource.mpp                           ---  Project reading exception

Furthermore, the fix for this Project reading exception issue will be available in our next release i.e. Aspose.Tasks for .Net 17.7.

For the GUID issue, please see the screenshot. The item with MsProjectRowId = 18 is one of the culprits on a dev system.
1.png (24.3 KB)
If needed, a dev on our side can write a console application to dump the problem MPP file. Let us know if you wanted us to do so.

@officetimeline,

We have further investigated the issue. We are able to read the GUIDs of the tasks and child tasks. Following are the results. It would be a great help if you could share a sample application project demonstrating the issue. We will evaluate it and update you about our findings.

Results:

Task #: 1
GUID: 113b1059-076a-47e9-9624-f8b1549b9590
Reading Task
ID: 1
Start: 01/01/0001 12:00:00 AM
Finish: 01/01/0001 12:00:00 AM

Task #: 2
GUID: A4CF9381-7A14-487E-937D-4FE48A26D89D
Reading Task AIC 3.0.3
ID: 2
Start: 01/05/2017 8:00:00 AM
Finish: 11/12/2017 5:00:00 PM

Sub-Task #: 1
GUID: 92F22A0B-43CE-4000-B64E-69503BB91F15
Reading Task RCI
ID: 3
Start: 26/06/2017 8:00:00 AM
Finish: 26/06/2017 5:00:00 PM

Sub-Task #: 2
GUID: 9FC8FF68-147D-45CE-9C67-942BB49A3F29
Reading Task Large - Greenfield RCI
ID: 4
Start: 30/05/2017 8:00:00 AM
Finish: 23/06/2017 5:00:00 PM

Sub-Task #: 3
GUID: 2E2B9DA9-E761-4757-8016-16465E61ED45
Reading Task Large - Brownfield RCI
ID: 5
Start: 12/05/2017 8:00:00 AM
Finish: 20/06/2017 5:00:00 PM

Sub-Task #: 4
GUID: B40D23F2-AFD6-4B2D-A221-DBA86BDA98E6
Reading Task Medium - Greenfield RCI
ID: 6
Start: 07/06/2017 8:00:00 AM
Finish: 01/08/2017 5:00:00 PM

Sub-Task #: 5
GUID: 5F44CFDB-584C-4B33-B20B-AF0512E2DCA0
Reading Task Medium - Brownfield RCI
ID: 7
Start: 20/06/2017 8:00:00 AM
Finish: 14/08/2017 5:00:00 PM

Sub-Task #: 6
GUID: FC556FF7-C414-46F9-B736-CC30C9FAEDE8
Reading Task Medium Lite - Greefield RCI
ID: 8
Start: 01/05/2017 8:00:00 AM
Finish: 24/07/2017 5:00:00 PM

Sub-Task #: 7
GUID: ED24E862-27F6-47D2-A56F-E51D2CE9A538
Reading Task System Test
ID: 9
Start: 07/06/2017 8:00:00 AM
Finish: 12/09/2017 5:00:00 PM

Sub-Task #: 8
GUID: 128D29A9-469D-4977-BF58-05DD3D244F76
Reading Task E2E/SIL
ID: 15
Start: 19/07/2017 8:00:00 AM
Finish: 11/12/2017 5:00:00 PM

Task #: 3
GUID: 4E319B34-040F-4333-AFD4-D40860175A71
Reading Task AIC 3.6
ID: 19
Start: 10/05/2017 8:00:00 AM
Finish: 03/05/2018 5:00:00 PM

Sub-Task #: 9
GUID: 6D7D84DD-8A03-4699-8CA5-F077891F23CA
Reading Task Development
ID: 20
Start: 10/05/2017 8:00:00 AM
Finish: 05/12/2017 5:00:00 PM

Sub-Task #: 10
GUID: 22FA2B05-F9C2-406A-8A70-EAAFDD12F788
Reading Task RCI
ID: 21
Start: 28/06/2017 8:00:00 AM
Finish: 05/12/2017 5:00:00 PM

Sub-Task #: 11
GUID: E4D8CE98-2938-4FBB-995C-DAF224102F6D
Reading Task System Test
ID: 26
Start: 26/06/2017 8:00:00 AM
Finish: 05/02/2018 5:00:00 PM

Sub-Task #: 12
GUID: 47DFC6D6-C931-4886-AE28-1F6753B1C4D5
Reading Task E2E/SIL
ID: 33
Start: 20/11/2017 8:00:00 AM
Finish: 03/05/2018 5:00:00 PM

Ikram, can you shed some light on what caused this issue? Also, do you have an ETA on Aspose.Tasks for .Net 17.7? We need to plan our development effort so we can release an update to our product the moment we get the update from you.

@officetimeline,

Example file: Project1_test file.mpp
There was some issue while reading this file. MPP Reader algorithm tried to read the file but failed. So, some improvements in the logic and formula/calculation have been introduced. Now the issue has been fixed. Tentatively Aspose.Tasks for .Net 17.7 release will be published in the start of next month.

The attached project shows that items 1 and 18 have an empty GUID as their id.
AsposeDemoEmptyGuid.zip (33.4 KB)

@officetimeline,

We have evaluated the sample project provided by you. We have used the latest version of the API i.e. Aspose.Tasks for .NET 17.6. We are able to read the GUIDs of the tasks and child tasks. Results are attached in a log file that has been generated using the sample project provided by you.
log.zip (1.4 KB)

We’re using AsposeTasks 17.6 as well.
On our dev machine the dump for items with MsProjectRowId 1 and 18 look like this:
===snip=========================
InternalId: 00000000-0000-0000-0000-000000000000
MsProjectRowId: 1
Title:
InternalId: 00000000-0000-0000-0000-000000000000
MsProjectRowId: 18
Title:
==snip end========================

What could cause different behavior in the library on different machines?
The dump you’ve posted looks slightly different than the one we’re generating, which means you’ve edited the code. Have you open the embedded .MPP file by any chance using Microsoft Project? If you did, it’s very likely Microsoft Project has corrected the issue with it.

@officetimeline,

You may be right but we have not opened the MPP file. The dump is different because a display statement has been added just to enhance the understanding. A piece of code to write the output to a log file has also been added. The sample project is attached for your reference. You may give it a try at your end and let us know your feedback.
AsposeDemoEmptyGuid_2017_07_26.zip (42.3 KB)

@officetimeline,

We have just released Aspose.Tasks for .NET 17.7 version where this issue (TASKSNET-1990) has been fixed. Please download this latest version for testing at your end and let us know if we can be of any additional help to you.