Erstellen Sie Ressourcen und verknüpfen mit Aufgaben

Während der Arbeit mit MPP -Dateien müssen Sie möglicherweise Ressourcen erstellen und mit Aufgaben von Ihrem Projekt verknüpfen. Dieser Artikel zeigt, wie MPP -Dateien in Ihren .NET -Anwendungen geladen werden und Aufgaben sowohl VSTO als auch Aspose.Tasks für .NET Ressourcen zuweisen.

Einführung

Bei der Projektplanung ermöglicht die Assoziationsressourcen mit Aufgaben die Planung der Arbeitsbelastung, die Kostenschätzung und die Fortschrittsverfolgung. Ressourcen repräsentieren in der Regel Personen, Ausrüstung oder Material, und ihre ordnungsgemäße Zuordnung ist der Schlüssel für eine sinnvolle Projektanalyse.

Dieser Artikel zeigt, wie man programmatisch ist:

Die Funktionalität wird sowohl anhand des Legacy VSTO Interop als auch mit den modernen Aspose.Tasks für .NET -API demonstriert.

Um Ressourcen zu erstellen und sie mit Microsoft Office Interop mit Aufgaben zu verknüpfen:

  1. Erstellen Sie ein Visual Studio -Projekt.
  2. Fügen Sie einen Verweis auf Microsoft -Projekt 12.0 Objektbibliothek aus der Registerkarte com hinzu.
  3. Importieren Sie microsoft.office.interop.mproject.
  4. Verwenden Sie das Code -Beispiel unten.

Vor und nach Screenshots zeigen die Projektstruktur in Gantt- und Ressourcenansichten.

📎 Eingabedatei: Gantt -Diagrammansicht

Zeigen Sie die Eingabe -Gantt -Diagrammansicht

📎 Eingabedatei: Ressourcenblattansicht

Eingabemittel -Ressourcenblattansicht anzeigen

Beispiel für VSto -Code

 1    Microsoft.Office.Interop.MSProject.Application projectApplication = new Application();
 2    object missingValue = System.Reflection.Missing.Value;
 3
 4    projectApplication.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
11    Microsoft.Office.Interop.MSProject.Project project = projectApplication.ActiveProject;
12
13    int iResourceId = 1;
14
15    foreach (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
23    projectApplication.FileCloseAll(Microsoft.Office.Interop.MSProject.PjSaveType.pjSave);

Ausgabedatei: Gantt-Diagrammansicht

Gantt-Diagrammansicht anzeigen

Ausgabedatei: Ressourcenblattansicht

Ressourcenblattdiagrammansicht anzeigen

Hinweise

– Ressourcen werden sequenziell hinzugefügt und pro Aufgabe zugewiesen. – Die Methode „Assignments.Add“ erfordert Aufgaben- und Ressourcenkennungen. – COM-Interop erfordert ein sorgfältiges Lebenszyklus- und Referenzmanagement.

Ressourcen erstellen und mit Aufgaben verknüpfen mit Aspose.Tasks für .NET

So erreichen Sie dies mit Aspose.Tasks:

  1. Erstellen Sie ein Visual Studio-Projekt.
  2. Fügen Sie über die Registerkarte .NET eine Referenz auf Aspose.Tasks hinzu.
  3. Importieren Sie den Namespace „Aspose.Tasks“.
  4. Verwenden Sie den unten stehenden Beispielcode.
 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);

Highlights

– Ressourcen werden über die Methode „project.Resources.Add“ hinzugefügt. – Zuweisungen werden über „project.ResourceAssignments.Add(task, resource)“ mit Aufgaben verknüpft. – Die API ist übersichtlich, vollständig verwaltet und mit Serverumgebungen kompatibel.

Vergleichstabelle

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.

Zusammenfassung

Das Erstellen und Zuweisen von Ressourcen ist ein wichtiger Schritt für einen realistischen und nachverfolgbaren Projektplan. VSTO bietet zwar nativen Zugriff auf das Objektmodell von Microsoft Project, ist jedoch mit Einschränkungen hinsichtlich Portabilität, Skalierbarkeit und Codekomplexität verbunden.

Aspose.Tasks für .NET bietet eine High-Level-API für effizientes Ressourcenmanagement in MPP-Dateien – ganz ohne Microsoft Project-Installation. Damit ist es die ideale Lösung für Webanwendungen, Dienste und plattformübergreifende .NET-Workloads.

Ähnliche Szenarien finden Sie hier:

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.