Crear recursos y vincular con tareas

Mientras trabaja con archivos MPP, es posible que deba crear recursos y vincularlos a tareas de su proyecto. Este artículo demuestra cómo cargar archivos MPP en sus aplicaciones .NET y asignar recursos a las tareas utilizando tanto vsto como aspose.tasks para .net.

Introducción

En la programación de proyectos, la asociación de recursos con tareas permite la planificación de la carga de trabajo, la estimación de costos y el seguimiento del progreso. Los recursos generalmente representan personas, equipos o materiales, y su asignación adecuada es clave para el análisis significativo del proyecto.

Este artículo muestra cómo mediante programación:

La funcionalidad se demuestra utilizando tanto la interoperación de VSTO Legacy como el aspositivo moderno. Tasks para la API .NET.

Crear recursos y enlaces a tareas utilizando vsto

Para crear recursos y vincularlos a tareas utilizando Microsoft Office Intop:

  1. Crea un proyecto Visual Studio.
  2. Agregue una referencia a Biblioteca de objetos del Proyecto Microsoft 12.0 Desde la pestaña Com.
  3. Import Microsoft.Office.interop.msproject.
  4. Use la muestra de código a continuación.

Las capturas de pantalla antes y después muestran la estructura del proyecto en Gantt y vistas de recursos.

📎 Archivo de entrada: Vista del gráfico Gantt

Mostrar la vista de la tabla Gantt de entrada

📎 Archivo de entrada: Vista de hoja de recursos

Mostrar la vista de la hoja de recursos de entrada

Ejemplo de código VSTO

 1Microsoft.Office.Interop.MSProject.Application projectApplication = new Application();
 2object missingValue = System.Reflection.Missing.Value;
 3
 4projectApplication.FileOpenEx(@"SampleProject.mpp",
 5    missingValue, missingValue, missingValue, missingValue,
 6    missingValue, missingValue, missingValue, missingValue,
 7    missingValue, missingValue, PjPoolOpen.pjPoolReadOnly,
 8    missingValue, missingValue, missingValue, missingValue,
 9    missingValue);
10
11Microsoft.Office.Interop.MSProject.Project project = projectApplication.ActiveProject;
12
13int iResourceId = 1;
14
15foreach (Task tsk in project.Tasks)
16{
17    string developer = "Developer0" + iResourceId;
18    project.Resources.Add(developer, iResourceId);
19    tsk.Assignments.Add(tsk.ID, iResourceId, missingValue);
20    iResourceId++;
21}
22
23projectApplication.FileCloseAll(Microsoft.Office.Interop.MSProject.PjSaveType.pjSave);

Output file: Gantt chart view

show output Gantt chart view

Output file: Resource sheet view

show output resource sheet chart view

Notas

Crear recursos y vincularlos a tareas con Aspose.Tasks para .NET

Para lograr lo mismo con Aspose.Tasks:

  1. Cree un proyecto de Visual Studio.
  2. Agregue una referencia a Aspose.Tasks a través de la pestaña .NET.
  3. Importe el espacio de nombres Aspose.Tasks.
  4. Utilice el código de ejemplo que se proporciona a continuación.
 1Project project = new Project("New Project.mpp");
 2
 3// Declare ChildTasksCollector class object
 4ChildTasksCollector collector = new ChildTasksCollector();
 5
 6// Use TaskUtils to get all children tasks in RootTask
 7TaskUtils.Apply(project.RootTask, collector, 0);
 8
 9// Define Resources
10for (int i = 0; i <= 4; i++)
11{
12    // Add resource to project
13    Resource newResource = project.Resources.Add("Developer0" + i);
14    newResource.Set(Rsc.Type, ResourceType.Work);
15
16    // Define assignment
17    ResourceAssignment newResourceAssignment = project.ResourceAssignments.Add((Task)collector.Tasks[i], newResource);
18}
19
20project.Save("CreateResourcesAndLinkToTasks_out.mpp", SaveFileFormat.MPP);

Aspectos destacados

Tabla comparativa

FeatureVSTO / InteropAspose.Tasks for .NET
Microsoft Project required✅ Yes❌ No
Platform support🖥 Windows only✅ Cross-platform
Deployment-friendly❌ Requires Office runtime✅ Self-contained .NET
API verbosity⚠ High✅ Minimal and intuitive
Assignment methodAssignments.Add(taskID, resourceID)ResourceAssignments.Add(task, res)
Output file format flexibilityLimited✅ MPP, XML, PDF, HTML, etc.

Resumen

Crear y asignar recursos es un paso clave para desarrollar un plan de proyecto realista y rastreable. Si bien VSTO ofrece acceso nativo al modelo de objetos de Microsoft Project, presenta limitaciones de portabilidad, escalabilidad y complejidad del código.

Aspose.Tasks para .NET proporciona una API de alto nivel que permite una gestión eficiente de recursos en archivos MPP, sin necesidad de instalar Microsoft Project. Esto lo convierte en la solución ideal para aplicaciones web, servicios y cargas de trabajo .NET multiplataforma.

Para escenarios relacionados, consulte:

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.