在 Aspose.Tasks 中使用樹演算法

介紹

Aspose.Tasks for .NET 提供了強大的功能來處理專案管理任務、資源和時間表。其中一項功能是樹演算法,它允許使用者有效地操作任務層次結構。在本教程中,我們將探索如何利用 Aspose.Tasks for .NET 中的樹演算法來收集專案中的常見工作並更新工作值。

先決條件

在我們開始之前,請確保您具備以下先決條件:

  1. Visual Studio:確保您的系統上安裝了 Visual Studio。
  2. Aspose.Tasks for .NET:從下列位置下載並安裝 Aspose.Tasks for .NET這裡.
  3. 對 C# 的基本了解:需要熟悉 C# 程式語言才能跟隨範例。

導入命名空間

在您的 C# 專案中,匯入必要的命名空間以使用 Aspose.Tasks 功能:

using Aspose.Tasks;
using System;

using Aspose.Tasks.Util;

現在,讓我們將每個範例分解為多個步驟:

第 1 步:載入專案文件

var project = new Project(DataDir + "Project1.mpp");

使用以下命令將項目檔案載入到記憶體中Project班級。

第 2 步:定義任務層次結構

var root = project.RootTask.Children.Add("Project Management");
var summary = root.Children.Add("Manage iteration");
var task = summary.Children.Add("Acquire staff");

透過新增父任務和子任務來定義任務層次結構。

步驟 3:設定任務屬性

task.Set(Tsk.Start, new DateTime(1999, 5, 3, 9, 0, 0));
task.Set(Tsk.Duration, project.GetDuration(8 * 14, TimeUnitType.Hour));
task.Set(Tsk.Finish, project.Get(Prj.Calendar).GetFinishDateByStartAndWork(task.Get(Tsk.Start), task.Get(Tsk.Duration)));

設定任務的開始日期、持續時間和完成日期等屬性。

第四步:新增資源

var resource = project.Resources.Add("Project Manager");
resource.Set(Rsc.Type, ResourceType.Work);
project.ResourceAssignments.Add(task, resource);

將資源新增至專案並根據需要將其指派給任務。

第5步:應用樹演算法

var acc = new WorkAccumulator();
TaskUtils.Apply(summary, acc, 0);

初始化WorkAccumulator類別並應用樹演算法來收集共同的工作。

第 6 步:更新任務工作

var summaryWork = acc.Work.ToDouble();
summary.Set(Tsk.Work, project.GetWork(summaryWork));
summary.Set(Tsk.RemainingWork, project.GetWork(summaryWork));

根據收集的資訊更新任務的工作值。

結論

在本教程中,我們學習如何利用 Aspose.Tasks for .NET 中的樹演算法來有效地操作任務層次結構。透過遵循逐步指南,您可以有效地管理專案中的任務和資源。

常見問題解答

Q1:什麼是 Aspose.Tasks for .NET?

A1:Aspose.Tasks for .NET 是一個功能強大的 API,允許開發人員使用 C# 以程式方式操作 Microsoft Project 檔案。

問題 2:我可以下載 Aspose.Tasks for .NET 的免費試用版嗎?

A2:是的,您可以從以下位置下載 Aspose.Tasks for .NET 的免費試用版:這裡.

Q3:在哪裡可以找到 Aspose.Tasks for .NET 的文件?

A3:您可以找到 Aspose.Tasks for .NET 的文檔這裡.

Q4:如何獲得 Aspose.Tasks for .NET 支援?

A4:有關 Aspose.Tasks for .NET 的支持,您可以訪問Aspose.Tasks 論壇.

Q5:是否有可用於測試目的的臨時許可證?

A5:是的,您可以從以下位置取得用於測試目的的臨時許可證:這裡.