Lectura de tareas y recursos

Mientras trabaja con archivos MPP, es posible que deba leer tareas y recursos de su proyecto. Este artículo proporciona una visión general práctica de cómo leer los datos del proyecto utilizando tanto VSTO como Aspose.Tasks para .NET.

Introducción

Leer tareas y recursos es a menudo el primer paso en la creación de análisis de proyectos, generar informes o validar la integridad del proyecto. Con los archivos del proyecto Microsoft (MPP), esto se puede lograr utilizando:

Este artículo describe cómo extraer información de tareas y recursos en ambos enfoques.

Leer tareas y recursos utilizando vsto

Para acceder a los datos de tareas y recursos utilizando vsto:

  1. Crea un nuevo proyecto en Visual Studio.
  2. Agregue una referencia a Biblioteca de objetos del Proyecto Microsoft 12.0 Desde la pestaña Com.
  3. Importe el espacio de nombres Microsoft.Office.interop.MsProject.
  4. Use el siguiente código de muestra.
 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();

Notas

Leer tareas y recursos con Aspose.Tasks para .NET

Para lograr lo mismo con Aspose.Tasks para .NET:

  1. Cree un nuevo proyecto de Visual Studio.
  2. Agregue una referencia a Aspose.Tasks mediante la pestaña .NET.
  3. Importe el espacio de nombres Aspose.Tasks.
  4. Utilice el siguiente ejemplo de código.
 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}

Reflejos

Tabla de comparación

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

Resumen

Extraer tareas y recursos es una capacidad fundamental cuando se trabaja con los archivos del proyecto de Microsoft. Si bien VSTO proporciona una forma de trabajar con los archivos de proyectos a través de COM INETOP, sufre de escenarios de implementación limitados y restricciones de plataforma.

Aspose.Tasks for .NET ofrece una alternativa ligera, multiplataforma y mantenible para leer y procesar datos del proyecto, lo que lo hace ideal para aplicaciones empresariales modernas y tuberías de automatización.

Para continuar explorando el acceso a los datos del proyecto con Aspose.Tasks, consulte:

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.