Browse our Products

Aspose.Tasks for C++ 20.2 Release Notes

Aspose.Tasks for C++ is based on the .NET version of the API and provides strictly the same functionality as Aspose.Tasks for .NET provides, excluding printing, database I/O operations, Project Online support, and EMF/WMF format support.

API Features

In this release, we are presenting the new API to work with the built-in and custom properties of a project.

Old meta properties API:

SharedPtr<Project> project = MakeObject<Project>("Project.mpp");
// custom properties are available through the dictionary of untyped properties
for (KeyValuePair<String, Object> customProperty : project->get_CustomProperties())
{
  Console::WriteLine(customProperty.Key);
  Console::WriteLine(customProperty.Value);
}
// built-in properties are available through the Project class
Console::WriteLine(project->Get(Prj.Title));
Console::WriteLine(project->Get(Prj.Author));
// ... etc.

New meta properties API:

C++

// custom properties are available through the typed collection
for (auto property : project->get_CustomProps())
{
   Console::WriteLine(property->get_Type());
   Console::WriteLine(property->get_Name());
   Console::WriteLine(property->get_Value());
}
// built-in properties are available directly
Console::WriteLine(project->get_BuiltInProps()->get_Author());
Console::WriteLine(project->get_BuiltInProps()->get_Title());
// ... etc.
// or as an item of built-in property collection
for (auto property in project->get_BuiltInProps())
{
   Console::WriteLine(property->get_Name());
   Console::WriteLine(property->get_Value());
   // ... etc.
}

All Changes

KeySummaryIssue Type
TASKSNET-3764Refactor Custom and BuiltIn PropertiesEnhancement
TASKSNET-3593When calculation mode is set to automatic the code executes for too longEnhancement
TASKSNET-3802Fix IndexOutOfRange exception on loading MPP fileBug
TASKSNET-3727Fix different project start/end dates in licensed and evaluation modesBug
TASKSNET-3709Fix reading of GdHtml filesBug

Public API and Backwards Incompatible Changes

The following public types were added:Description
Aspose.Tasks.Properties.BuiltInProjectPropertyRepresents a built-in property.
Aspose.Tasks.Properties.BuiltInProjectPropertyCollectionRepresents a collection of built-in project properties.
Aspose.Tasks.Properties.CustomProjectPropertyRepresents a custom property.
Aspose.Tasks.Properties.CustomProjectPropertyCollectionRepresents a collection of custom project properties.
Aspose.Tasks.Properties.CustomPropertyTypeRepresents a custom property type enumeration.
Aspose.Tasks.Properties.GenericProperty`1Represents a base class of a strongly typed property.
Aspose.Tasks.Properties.PropertyRepresents a base class of a property.
Aspose.Tasks.Properties.PropertyCollection`1A base class of collection of properties.
The following public methods and properties were added:Description
Aspose.Tasks.ApsLayoutBuilderOutOfMemoryException.#ctor(System.Runtime.Serialization.SerializationInfo,
System.Runtime.Serialization.StreamingContext)
Initializes a new instance of the class.
Aspose.Tasks.Baseline.Equals(Aspose.Tasks.Baseline)Returns a value indicating whether this instance is equal to a specified object.
Aspose.Tasks.Baseline.Equals(System.Object)Returns a value indicating whether this instance is equal to a specified object.
Aspose.Tasks.Baseline.opEquality(Aspose.Tasks.Baseline,Aspose.Tasks.Baseline)Returns a value indicating whether this instance is equal to a specified object.
Aspose.Tasks.Baseline.opInequality(Aspose.Tasks.Baseline,Aspose.Tasks.Baseline)Returns a value indicating whether this instance is not equal to a specified object.
Aspose.Tasks.Baseline.opLessThan(Aspose.Tasks.Baseline,Aspose.Tasks.Baseline)Returns a value indicating whether this instance is less than a specified object.
Aspose.Tasks.Baseline.opGreaterThan(Aspose.Tasks.Baseline,Aspose.Tasks.Baseline)Returns a value indicating whether this instance is greater than a specified object.
Aspose.Tasks.Baseline.opGreaterThanOrEqual(Aspose.Tasks.Baseline,Aspose.Tasks.Baseline)Returns a value indicating whether this instance is greater than or equal to a specified object.
Aspose.Tasks.Baseline.opLessThanOrEqual(Aspose.Tasks.Baseline,Aspose.Tasks.Baseline)Returns a value indicating whether this instance is less than or equal to a specified object.
Aspose.Tasks.Baseline.GetHashCodeReturns a hash code value for the baseline.
Aspose.Tasks.BitmapInvalidSizeException.#ctor(System.Runtime.Serialization.SerializationInfo,
System.Runtime.Serialization.StreamingContext)
Initializes a new instance of the class.
Aspose.Tasks.CompoundDocumentHeaderException.#ctor(System.Runtime.Serialization.SerializationInfo,
System.Runtime.Serialization.StreamingContext)
Initializes a new instance of the class.
Aspose.Tasks.Duration.opEquality(Aspose.Tasks.Duration,Aspose.Tasks.Duration)Returns a value indicating whether this instance is equal to a specified object.
Aspose.Tasks.Duration.opInequality(Aspose.Tasks.Duration,Aspose.Tasks.Duration)Returns a value indicating whether this instance is not equal to a specified object.
Aspose.Tasks.Filter.Equals(Aspose.Tasks.Filter)Returns a value indicating whether this instance is equal to the specified AssignmentBaseline object.
Aspose.Tasks.Filter.Equals(System.Object)Returns a value indicating whether this instance is equal to the specified AssignmentBaseline object.
Aspose.Tasks.Filter.GetHashCodeReturns a hash code value for the filter.
Aspose.Tasks.Filter.opEquality(Aspose.Tasks.Filter,Aspose.Tasks.Filter)Returns a value indicating whether this instance is equal to a specified object.
Aspose.Tasks.Filter.opInequality(Aspose.Tasks.Filter,Aspose.Tasks.Filter)Returns a value indicating whether this instance is not equal to a specified object.
Aspose.Tasks.Filter.opLessThan(Aspose.Tasks.Filter,Aspose.Tasks.Filter)Returns a value indicating whether this instance is less than a specified object.
Aspose.Tasks.Filter.opGreaterThan(Aspose.Tasks.Filter,Aspose.Tasks.Filter)Returns a value indicating whether this instance is greater than a specified object.
Aspose.Tasks.Filter.opGreaterThanOrEqual(Aspose.Tasks.Filter,Aspose.Tasks.Filter)Returns a value indicating whether this instance is greater than or equal to a specified object.
Aspose.Tasks.Filter.opLessThanOrEqual(Aspose.Tasks.Filter,Aspose.Tasks.Filter)Returns a value indicating whether this instance is less than or equal to a specified object.
Aspose.Tasks.InvalidPasswordException.#ctor(System.Runtime.Serialization.SerializationInfo,
System.Runtime.Serialization.StreamingContext)
Initializes a new instance of the class.
Aspose.Tasks.NoPrinterInstalledException.#ctor(System.Runtime.Serialization.SerializationInfo,
System.Runtime.Serialization.StreamingContext)
Initializes a new instance of the class.
Aspose.Tasks.NullableBool.opEquality(Aspose.Tasks.NullableBool,Aspose.Tasks.NullableBool)Returns a value indicating whether this instance is equal to a specified object.
Aspose.Tasks.NullableBool.opInequality(Aspose.Tasks.NullableBool,Aspose.Tasks.NullableBool)Returns a value indicating whether this instance is not equal to a specified object.
Aspose.Tasks.Project.BuiltInPropsGets project’s built-in properties collection.
Aspose.Tasks.Project.CustomPropsGets project’s custom properties collection.
Aspose.Tasks.ProjectOnlineException.#ctor(System.Runtime.Serialization.SerializationInfo,
System.Runtime.Serialization.StreamingContext)
Initializes a new instance of the class.
Aspose.Tasks.Properties.BuiltInProjectPropertyCollection.IsReadOnlyGets a value indicating whether this collection is read-only; otherwise, false.
Aspose.Tasks.Properties.BuiltInProjectPropertyCollection.TitleGets or sets the title of a project.
Aspose.Tasks.Properties.BuiltInProjectPropertyCollection.SubjectGets or sets the subject of a project.
Aspose.Tasks.Properties.BuiltInProjectPropertyCollection.AuthorGets or sets the author of a project.
Aspose.Tasks.Properties.BuiltInProjectPropertyCollection.ManagerGets or sets the manager of a project.
Aspose.Tasks.Properties.BuiltInProjectPropertyCollection.CompanyGets or sets the company of a project.
Aspose.Tasks.Properties.BuiltInProjectPropertyCollection.CategoryGets or sets the category of a project.
Aspose.Tasks.Properties.BuiltInProjectPropertyCollection.KeywordsGets or sets the keywords of a project.
Aspose.Tasks.Properties.BuiltInProjectPropertyCollection.CommentsGets or sets the comments of a project.
Aspose.Tasks.Properties.BuiltInProjectPropertyCollection.HyperlinkBaseGets or sets the hyperlink base of a project.
Aspose.Tasks.Properties.CustomProjectProperty.TypeGets the type of the property.
Aspose.Tasks.Properties.CustomProjectPropertyCollection.#ctorInitializes a new instance of the class.
Aspose.Tasks.Properties.CustomProjectPropertyCollection.IsReadOnlyGets a value indicating whether this collection is read-only; otherwise, false.
Aspose.Tasks.Properties.CustomProjectPropertyCollection.Remove(System.String)Removes a property with the specified name from the collection.
Aspose.Tasks.Properties.CustomProjectPropertyCollection.ClearClears the PropertyCollection.
Aspose.Tasks.Properties.CustomProjectPropertyCollection.Add(System.String,System.String)Creates a new custom property.
Aspose.Tasks.Properties.CustomProjectPropertyCollection.Add(System.String,System.Boolean)Creates a new custom property.
Aspose.Tasks.Properties.CustomProjectPropertyCollection.Add(System.String,System.Double)Creates a new custom property.
Aspose.Tasks.Properties.CustomProjectPropertyCollection.Add(System.String,System.DateTime)Creates a new custom property.
Aspose.Tasks.Properties.GenericProperty`1.#ctor(System.String)Initializes a new instance of the class.
Aspose.Tasks.Properties.GenericProperty`1.ValueGets or sets the value of the property.
Aspose.Tasks.Properties.Property.NameGets the name of the property.
Aspose.Tasks.Properties.Property.ValueGets or sets the value of the property.
Aspose.Tasks.Properties.Property.ToStringReturns the property value as string.
Aspose.Tasks.Properties.PropertyCollection`1.#ctorInitializes a new instance of the class.
Aspose.Tasks.Properties.PropertyCollection`1.NamesGets the collection of all property names.
Aspose.Tasks.Properties.PropertyCollection`1.CountGets the number of properties in the collection.
Aspose.Tasks.Properties.PropertyCollection`1.IsReadOnlyGets a value indicating whether this collection is read-only; otherwise, false.
Aspose.Tasks.Properties.PropertyCollection`1.Item(System.String)Gets the Property associated with the specified key.
Aspose.Tasks.Properties.PropertyCollection`1.Contains(System.String)Determines whether the contains a property with the specified name.
Aspose.Tasks.TasksException.#ctor(System.Runtime.Serialization.SerializationInfo,
System.Runtime.Serialization.StreamingContext)
Initializes a new instance of the class.
Aspose.Tasks.TasksLoggedException.#ctor(System.Runtime.Serialization.SerializationInfo,
System.Runtime.Serialization.StreamingContext)
Initializes a new instance of the class.
Aspose.Tasks.ValidationException.#ctor(System.Runtime.Serialization.SerializationInfo,
System.Runtime.Serialization.StreamingContext)
Initializes a new instance of the class.
Aspose.Tasks.View.opEquality(Aspose.Tasks.View,Aspose.Tasks.View)Returns a value indicating whether this instance is equal to a specified object.
Aspose.Tasks.View.opInequality(Aspose.Tasks.View,Aspose.Tasks.View)Returns a value indicating whether this instance is not equal to a specified object.
Aspose.Tasks.View.opLessThan(Aspose.Tasks.View,Aspose.Tasks.View)Returns a value indicating whether this instance is less than a specified object.
Aspose.Tasks.View.opGreaterThan(Aspose.Tasks.View,Aspose.Tasks.View)Returns a value indicating whether this instance is greater than a specified object.
Aspose.Tasks.View.opGreaterThanOrEqual(Aspose.Tasks.View,Aspose.Tasks.View)Returns a value indicating whether this instance is greater than or equal to a specified object.
Aspose.Tasks.View.opLessThanOrEqual(Aspose.Tasks.View,Aspose.Tasks.View)Returns a value indicating whether this instance is less than or equal to a specified object.
Aspose.Tasks.WeekDayCollection.Item(System.Int32)Gets or sets the item value at specified index.
Aspose.Tasks.WeekDayCollection.RemoveAt(System.Int32)Removes an item at specified index.
Aspose.Tasks.WeekDayCollection.Contains(Aspose.Tasks.WeekDay)Checks if collection contains .specified.
Aspose.Tasks.WeekDayCollection.CopyTo(Aspose.Tasks.WeekDay, System.Int32)Copies collection content to an array at specified index.
Aspose.Tasks.WeekDayCollection.IndexOf(Aspose.Tasks.WeekDay)Returns index of specified.
Aspose.Tasks.WeekDayCollection.Insert(System.Int32,Aspose.Tasks.WeekDay)Inserts at specified index.
Aspose.Tasks.WeekDayCollection.Remove(Aspose.Tasks.WeekDay)Removes specified, if any.
Aspose.Tasks.WorkingTime.#ctor(System.DateTime,System.DateTime)Initializes a new instance of the class with a interval item with specified start and finish times.
The following public enumerations were added:Description
Aspose.Tasks.Properties.CustomPropertyType.NoneThe property has no type.
Aspose.Tasks.Properties.CustomPropertyType.StringThe property is a string value.
Aspose.Tasks.Properties.CustomPropertyType.DateTimeThe property is a date time value.
Aspose.Tasks.Properties.CustomPropertyType.NumberThe property is an integer number.
Aspose.Tasks.Properties.CustomPropertyType.BooleanThe property is a boolean value.