रेडमाइन में प्रोजेक्ट्स को संभालने के लिए ओपन सोर्स .NET प्रोजेक्ट मैनेजमेंट API

अग्रणी C# .NET प्रोजेक्ट मैनेजमेंट लाइब्रेरी डेवलपर्स को प्रोजेक्ट फ़ाइलों को बनाना, पढ़ना, संशोधित करना और MPP, MPT, XML, XER, PMXML, और कई अन्य फ़ॉर्मैट में बदलने की अनुमति देती है।

MPXJ.NET क्या है?

प्रोजेक्ट डेटा का प्रबंधन अक्सर Microsoft Project, Primavera P6 और अन्य टूल्स के कई फ़ाइल फ़ॉर्मेट्स से निपटने का मतलब होता है। यदि आप एक .NET डेवलपर हैं जो प्रोग्रामेटिक रूप से प्रोजेक्ट डेटा को पढ़ना, लिखना और संशोधित करना चाहते हैं बिना किसी एकल प्लेटफ़ॉर्म में फँसे, तो MPXJ.NET वह शक्तिशाली, ओपन सोर्स लाइब्रेरी है जिसकी आप तलाश कर रहे थे। इस लाइब्रेरी में प्रोजेक्ट मैनेजमेंट फ़ाइलों के साथ काम करने के कई महत्वपूर्ण फीचर शामिल हैं, जैसे नई प्रोजेक्ट बनाना, मौजूदा प्रोजेक्ट फ़ाइलें पढ़ना, फ़ॉर्मेट्स के बीच रूपांतरण, शेड्यूल डेटा को संशोधित करना, संसाधनों और असाइनमेंट्स के साथ काम करना, प्रोग्रामेटिक रूप से।

MPXJ.NET एक ओपन‑सोर्स .NET रैपर है जो जावा लाइब्रेरी MPXJ (Jon Iles द्वारा प्रबंधित) के चारों ओर बना है। यह .NET डेवलपर्स—C#, VB.NET, आदि—को प्रोजेक्ट‑शेड्यूल फ़ाइलों को पढ़ने, लिखने और हेरफेर करने की अनुमति देता है, जिससे वे स्वाभाविक C# प्रकारों और सम्मेलनों का उपयोग कर सकें। MPXJ लाइब्रेरी कई शेड्यूल और प्रोजेक्ट फ़ॉर्मेट्स जैसे MPP, MPX, MSPDI XML, XER, P6 डेटाबेस, Planner XML, आदि को समर्थन देती है। जबकि MPXJ मूल रूप से जावा‑आधारित है, MPXJ.Net इसे रैप करता है और C# सम्मेलनों (जावा गेटर/सेटर की बजाय प्रॉपर्टीज़; .NET नामकरण सम्मेलनों) को प्रस्तुत करता है, जिससे यह .NET कोड में स्वाभाविक लगता है। चाहे आप एंटरप्राइज़ पोर्टफ़ोलियो के लिए डेटा एकत्र कर रहे हों, शेड्यूल पर गुणवत्ता जांच कर रहे हों, या अपने CRM और PMO के टूल्स के बीच एक पुल बना रहे हों, MPXJ.Net वह विश्वसनीय, उच्च‑प्रदर्शन आधार प्रदान करता है जिसकी आपको आवश्यकता है।

Previous Next

MPXJ.NET के साथ शुरूआत

MPXJ.NET को स्थापित करने का अनुशंसित तरीका NuGet के माध्यम से है। सुगम स्थापना के लिए कृपया निम्नलिखित कमांड्स का उपयोग करें।

NuGet के माध्यम से MPXJ.NET स्थापित करें

NuGet\Install-Package MPXJ.Net -Version 14.5.2

आप इसे सीधे GitHub पृष्ठ से डाउनलोड कर सकते हैं।

.NET के माध्यम से प्रोजेक्ट बनाएं और संशोधित करें

ओपन सोर्स MPXJ.NET ने .NET अनुप्रयोगों के भीतर प्रोजेक्ट फ़ाइलों को संभालने के लिए कई महत्वपूर्ण सुविधाएँ प्रदान की हैं। पढ़ने के अलावा, आप नई प्रोजेक्ट फ़ाइलें शून्य से बना सकते हैं: प्रोजेक्ट गुण (शीर्षक, लेखक, प्रारंभ तिथि) निर्धारित करें, कैलेंडर और अपवाद जोड़ें, कार्य जोड़ें (अवधियों, प्रारंभ तिथियों, संख्यात्मक फ़ील्ड के साथ), संसाधन और असाइनमेंट जोड़ें, निर्भरताएँ बनाएं (कार्य A, कार्य B से पहले आता है), और फिर फ़ाइल फ़ॉर्मेट (जैसे, MSPDI या MPX) में सहेजें जिसे MS Project या अन्य टूल्स द्वारा खोला जा सकता है। यहाँ एक सरल उदाहरण है जो दर्शाता है कि .NET अनुप्रयोगों के भीतर नया प्रोजेक्ट कैसे बनाया जाए।

.NET लाइब्रेरी के माध्यम से नया प्रोजेक्ट कैसे बनाएं और इसे XML फ़ॉर्मेट में लिखें?

using Net.Sf.Mpxj;
using Net.Sf.Mpxj.Write;
using System;

// Create a new, empty project file
ProjectFile project = new ProjectFile();

// Set basic project properties
project.Name = "My New MPXJ-Generated Project";
project.StartDate = DateTime.Now;

// Add tasks
Task task1 = project.AddTask();
task1.Name = "Task 1";
task1.Duration = project.GetDuration(8, TimeUnit.Hours); // 1 day
task1.Start = DateTime.Now;

Task task2 = project.AddTask();
task2.Name = "Task 2 (Child of Task 1)";
task2.Duration = project.GetDuration(16, TimeUnit.Hours); // 2 days
task2.Start = DateTime.Now.AddDays(1);
// Make task2 a child of task1 by setting the outline level
task2.OutlineLevel = 1;

// Create a writer for the desired output format
ProjectWriter writer = new MicrosoftProjectWriter();

try
{
    // Write the project to an XML file (compatible with MS Project)
    writer.Write(project, "C:\\Projects\\MyNewProject.xml");
    Console.WriteLine("Project file written successfully!");
}
catch (Exception ex)
{
    Console.WriteLine($"Failed to write file: {ex.Message}");
}

C# के माध्यम से सार्वभौमिक प्रोजेक्ट फ़ाइल पढ़ना

MPXJ.NET लाइब्रेरी की मुख्य ताकत इसकी सरल, सुसंगत API के साथ विभिन्न फ़ॉर्मेट्स को लोड और पढ़ने की क्षमता है। लाइब्रेरी में फ़ाइल के एक्सटेंशन और सामग्री के आधार पर फ़ाइल फ़ॉर्मेट को स्वचालित रूप से पहचानने का समर्थन शामिल है। Read मेथड एक ProjectFile ऑब्जेक्ट लौटाता है, जो कार्य, संसाधन और असाइनमेंट जैसे सभी अन्य प्रोजेक्ट इकाइयों के लिए मूल कंटेनर है। यह सरल पैटर्न XER फ़ाइल, XML फ़ाइल, या किसी अन्य समर्थित फ़ॉर्मेट के लिए समान रूप से काम करता है। निम्नलिखित उदाहरण दिखाता है कि इसे आसानी से कैसे किया जाए।

.NET API के माध्यम से MPP प्रोजेक्ट फ़ाइल को कैसे लोड और पढ़ें?

using Net.Sf.Mpxj;
using Net.Sf.Mpxj.Read;

// Create a ProjectReader instance.
// The UniversalProjectReader intelligently determines the file type.
ProjectReader reader = new UniversalProjectReader();

try
{
    // Read the project file. This one line of code is all you need.
    ProjectFile project = reader.Read("C:\\Projects\\MySchedule.mpp");

    // Now you have access to all project data!
    Console.WriteLine($"Project Name: {project.Name}");
    Console.WriteLine($"Start Date: {project.StartDate}");
}
catch (Exception ex)
{
    Console.WriteLine($"Failed to read file: {ex.Message}");
}

           

.NET API के माध्यम से प्रोजेक्ट फ़ाइलों का रूपांतरण

ओपन सोर्स MPXJ.NET .NET एप्लिकेशन्स के भीतर प्रोजेक्ट फ़ाइलों को अन्य समर्थित फ़ाइल फ़ॉर्मेट में बदलने के लिए पूर्ण समर्थन प्रदान करता है। इसकी मल्टी-फ़ॉर्मेट क्षमता के कारण, MPXJ.NET अक्सर .NET एप्लिकेशन्स के भीतर प्रोजेक्ट फ़ाइलों को एक फ़ॉर्मेट से दूसरे में बदलने के लिए उपयोग किया जाता है। उदाहरण के लिए: .MPP फ़ाइल पढ़ें, फिर .MPX या .MSPDI या यहाँ तक कि XER/PMXML (समर्थन पर निर्भर) में लिखें। README में रूपांतरण का उदाहरण दिया गया है।

.NET एप्लिकेशन के भीतर प्रोजेक्ट फ़ाइल को कैसे पढ़ें और परिवर्तित करें?

using System;
using MPXJ.Net;

namespace ConvertProject
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = "LegacyProject.mpp";
            string output = "ConvertedProject.mpx";

            // Read using universal reader
            var proj = new UniversalProjectReader().Read(input);

            // Write using universal writer to MPX format
            new UniversalProjectWriter(FileFormat.MPX).Write(proj, output);

            Console.WriteLine($"Converted {input} → {output}");
        }
    }
}
           

प्रोजेक्ट कार्यों और पदानुक्रम तक पहुंच

प्रोजेक्ट कार्यों से बनते हैं, और MPXJ.NET आपको पूरी वर्क ब्रेकडाउन स्ट्रक्चर (WBS) को पार करने की अनुमति देता है। यह लाइब्रेरी प्रोजेक्ट कार्यों और डेटा को संभालने के लिए विभिन्न सुविधाएँ प्रदान करती है, जैसे प्रोजेक्ट में सभी कार्यों की सूची, कार्य सारांश देखना, कार्य की अवधि, शुरूआत और समाप्ति, कार्य की प्रतिशत पूर्णता, और कई अन्य। नीचे दिया गया उदाहरण दर्शाता है कि डेवलपर्स .NET कमांड्स का उपयोग करके सभी कार्यों पर कैसे इटररेट कर सकते हैं।

C# API के माध्यम से सभी प्रोजेक्ट कार्यों पर कैसे इटरेट करें?

using Net.Sf.Mpxj;

// ... (Assume 'project' is a loaded ProjectFile object)

Console.WriteLine("Tasks in the project:");
foreach (Task task in project.Tasks)
{
    // Calculate the indentation for a hierarchical view
    string indent = new string(' ', task.OutlineLevel * 2);

    Console.WriteLine($"{indent}ID: {task.ID}, Name: {task.Name}, " +
                      $"Duration: {task.Duration}, " +
                      $"Start: {task.Start}, Finish: {task.Finish}");

    // Access specific properties
    if (task.PercentageComplete != null && task.PercentageComplete > 0)
    {
        Console.WriteLine($"{indent}  -> % Complete: {task.PercentageComplete}");
    }
}
           
 हिन्दी