작업과 자원을 읽습니다

MPP 파일로 작업하는 동안 프로젝트에서 작업과 리소스를 읽어야 할 수도 있습니다. 이 기사는 VSTOaspose.tasks for .net를 사용하여 프로젝트 데이터를 읽는 방법에 대한 실질적인 개요를 제공합니다.

소개

작업 및 리소스를 읽는 것은 종종 프로젝트 분석을 구축하거나 보고서 생성 또는 프로젝트 무결성을 검증하는 첫 번째 단계입니다. Microsoft Project 파일 (MPP)을 사용하면 다음 중 하나를 사용하여 달성 할 수 있습니다.

이 기사는 두 가지 접근 방식에서 작업 및 리소스 정보를 추출하는 방법을 간략하게 설명합니다.


VSTO를 사용하여 작업 및 리소스를 읽으십시오

VSTO를 사용하여 작업 및 리소스 데이터에 액세스하려면 :

  1. Visual Studio에서 새로운 프로젝트를 만듭니다.
  2. com 탭에서 Microsoft Project 12.0 객체 라이브러리에 대한 참조를 추가하십시오.
  3. microsoft.office.interop.msproject 네임 스페이스를 가져옵니다.
  4. 다음 샘플 코드를 사용하십시오.
 1// Create Application object
 2Application projectApplication = new ApplicationClass();
 3object missingValue = System.Reflection.Missing.Value;
 4
 5// Open MPP file
 6projectApplication.FileOpenEx(@"C:\Project1.mpp",
 7    missingValue, missingValue, missingValue, missingValue,
 8    missingValue, missingValue, missingValue, missingValue,
 9    missingValue, missingValue, PjPoolOpen.pjPoolReadOnly,
10    missingValue, missingValue, missingValue, missingValue,
11    missingValue);
12
13Project project = projectApplication.ActiveProject;
14
15// Read all tasks
16foreach (Task task in project.Tasks)
17{
18    Console.WriteLine("Reading Task: " + task.Name);
19    Console.WriteLine("ID: " + task.ID);
20    Console.WriteLine("Start: " + task.Start);
21    Console.WriteLine("Finish: " + task.Finish);
22    Console.WriteLine("===========================\n");
23}
24
25// Read all resources
26foreach (Resource resource in project.Resources)
27{
28    string resourceType = resource.Type switch
29    {
30        PjResourceTypes.pjResourceTypeCost => "Cost",
31        PjResourceTypes.pjResourceTypeMaterial => "Material",
32        PjResourceTypes.pjResourceTypeWork => "Work",
33        _ => "Unknown"
34    };
35
36    Console.WriteLine("Reading Resource: " + resource.Name);
37    Console.WriteLine("ID: " + resource.ID);
38    Console.WriteLine("Type: " + resourceType);
39    Console.WriteLine("===========================\n");
40}
41
42Console.ReadLine();

Notes

Read Tasks and Resources Using Aspose.Tasks for .NET

To achieve the same using Aspose.Tasks for .NET:

  1. Create a new Visual Studio project.
  2. Add a reference to Aspose.Tasks via the .NET tab.
  3. Import the Aspose.Tasks namespace.
  4. Use the code example below.

 1Project project = new Project("New Project.mpp");
 2
 3// Load all tasks
 4TaskCollection allTasks = project.RootTask.Children;
 5
 6// Loop through each task and read information related to tasks
 7foreach (Task task in allTasks)
 8{
 9    Console.WriteLine("Reading Task " + task.Get(Tsk.Name));
10    Console.WriteLine("ID: " + task.Get(Tsk.Id));
11    Console.WriteLine("Start: " + task.Get(Tsk.Start));
12    Console.WriteLine("Finish: " + task.Get(Tsk.Finish));
13}
14
15// Loop through each resource and read information related to resources
16foreach (Resource resource in project.Resources)
17{
18    string resourceType = null;
19    switch (resource.Get(Rsc.Type))
20    {
21        case ResourceType.Material:
22            resourceType = "Material";
23            break;
24        case ResourceType.Work:
25            resourceType = "Work";
26            break;
27        default:
28            resourceType = "Cost";
29            break;
30    }
31
32    Console.WriteLine("Reading Resource " + resource.Get(Rsc.Name));
33    Console.WriteLine("ID: " + resource.Get(Rsc.Id));
34    Console.WriteLine("Type: " + resourceType);
35}
{{}}

하이라이트

비교 테이블

FeatureVSTO / InteropAspose.Tasks for .NET
Requires Microsoft Project✅ Yes❌ No
Platform🖥 Windows only✅ Cross-platform
Access ModelCOM-basedPure .NET API
Ease of Deployment⚠ Limited✅ Self-contained
Reading Resourcesproject.Resourcesproject.Resources
Reading Tasksproject.Tasksproject.RootTask.Children

요약

작업 및 리소스 추출은 Microsoft Project 파일로 작업 할 때 기본적인 기능입니다. VSTO는 COM Interop을 통해 프로젝트 파일을 사용하는 방법을 제공하지만 배포 시나리오와 플랫폼 제한이 제한되어 있습니다.

aspose.tasks for .net은 프로젝트 데이터를 읽고 처리하기위한 가벼운 크로스 플랫폼 및 관리 가능한 대안을 제공하여 최신 엔터프라이즈 애플리케이션 및 자동화 파이프 라인에 이상적입니다.

Aspose.tasks를 사용하여 프로젝트 데이터 액세스를 계속 탐색하려면 다음을 참조하십시오.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.