Browse our Products

Aspose.Tasks for .NET 19.7 Release Notes

All Changes

KeySummaryIssue Type
TASKSNET-3142Implement reading of projects using “ReadProjectCoreData” internal API of Project ServerNew Feature
TASKSNET-3342Fix exception on the file loadingBug
TASKSNET-3320Fix calculation of timephased data for “unassigned” resource assignmentsBug
TASKSNET-3319Fix exception while reading of MSP 2019 MPP fileBug
TASKSNET-3259Fix root task visibility after a resave of projectBug
TASKSNET-3147Fix task splitting algorithm for non-working daysBug

Public API and Backwards Incompatible Changes

The following public methods and properties were added:Description
Aspose.Tasks.ExtendedAttribute.ToStringReturns short string representation of an extended attribute.
Aspose.Tasks.ProjectOnlineReader.GetProjectRawData(System.Guid)Gets the project’s binary data for troubleshooting purposes.
Aspose.Tasks.ProjectServerCredentials.#ctor(System.String,System.String,System.String)Initializes a new instance of the class using URL of SharePoint site, user name and password.
Aspose.Tasks.ProjectServerCredentials.UserNameGets the user name for SharePoint site
The following public methods and properties were deleted:Description
Aspose.Tasks.Value.DurationValue
The following public enumerations were added:Description
Aspose.Tasks.Field.TaskBaseLineFixedCostRepresents the Baseline Fixed Cost (Task) field.
Aspose.Tasks.Field.ResourceTypeIsCostRepresents the Type (Cost) field.
Aspose.Tasks.Field.ResourceAssignmentBaseLineWorkRepresents the Baseline Work (Assignment) field.
Aspose.Tasks.Field.ResourceAssignmentBaseLineCostRepresents the Baseline Cost (Assignment) field.
Aspose.Tasks.Field.ResourceAssignmentBaseLineStartRepresents the Baseline Start (Assignment) field.
Aspose.Tasks.Field.ResourceAssignmentBaseLineFinishRepresents the Baseline Finish (Assignment) field.
Aspose.Tasks.Field.ResourceAssignmentBaseLineCostPerUseRepresents the Baseline Cost Per Use (Assignment) field.
Aspose.Tasks.Field.ResourceAssignmentGuidRepresents the Guid (Assignment) field.
Aspose.Tasks.TaskKey.ParentTaskGuidRepresents the ParentTaskGuid (Task) field.
Previously a user had to retrieve AuthToken using Microsoft.SharePoint.Client.Runtime assembly:
Uri siteUrl = new Uri("https://contoso.sharepoint.com");
var username = "admin@contoso.onmicrosoft.com";
SecureString password = new SecureString();
var password = "MyPassword";
foreach (char c in password)
{
    password.AppendChar(c);
}
var onlineCredentials = new SharePointOnlineCredentials(username, password);
var fedAuthTicket = onlineCredentials.GetAuthenticationCookie(siteUrl, true);
var projectOnlineCredentials = new ProjectServerCredentials(siteUrl.ToString(), fedAuthTicket);
ProjectOnlineReader reader = new ProjectOnlineReader(projectOnlineCredentials);

Now a user has an option to specify SiteUrl, username, and password in order to create a connection to Project Online:

string sharePointDomainAddress = "https://contoso.sharepoint.com";
string userName = "admin@contoso.onmicrosoft.com";
string password = "MyPassword";
var credentials = new ProjectServerCredentials(sharePointDomainAddress, userName, password);
ProjectOnlineReader reader = new ProjectOnlineReader(credentials);
var list = reader.GetProjectList();
foreach (var p in list)
{
    Console.WriteLine("{0} - {1} - {2}", p.Name, p.CreatedDate, p.LastSavedDate);
}
foreach (var p in list)
{
    var project = reader.GetProject(p.Id);
    Console.WriteLine("Project '{0}' loaded. Resources count: {1}", p.Name, project.Resources.Count);
}