Как добавить список деталей задачи проекта в "задачу net.sf.mpxj.Task" в C#

У меня есть объект aC#, имеющий ProjectInfo с ProjectTasks, теперь, как я могу добавить эти projectTasks к "net.sf.mpxj.Task task" в C#

Пока я создаю новый объект для net.sf.mpxj.Task, он показывает ошибку, что "тип net.sf.mpxj.Task не имеет определенных конструкторов", поэтому он не может создать новый объект, тогда как я могу добавить projectTasks,

Ниже приведен пример кода, который не работает:

     List<net.sf.mpxj.Task> tasks=new List<net.sf.mpxj.Task>();

            foreach (var pTask in projectInfo.ProjectTasks)
            {

                net.sf.mpxj.Task task = new net.sf.mpxj.Task();

                        task.TaskId=ptask.TaskId;
                        task.Name = pTask.TaskName;
                        task.Notes = pTask.Description;
                         task.Start=pTask.EstimatedStartDate.ToJavaDate();
                         task.Finish  = pTask.EstimatedEndDate.ToJavaDate();
                        task.Estimated = true;
                        task.Priority = null;
                        task.Type = null;

                    tasks.Add(task);

            }

заранее спасибо.

2 ответа

Вы не создаете объект MPXJ правильно. Пожалуйста, следуйте следующему коду для создания задач MPXJ. Здесь я создаю MSPDI-файл в формате XML для MS Project.

    ProjectFile project = new ProjectFile();

    foreach (var pTask in projectInfo.ProjectTasks)
    {
        Task task = project.AddTask();
        task.Name = pTask.TaskName;
        task.Notes = pTask.Description;
        task.Start=pTask.EstimatedStartDate.ToJavaDate();
        task.Finish  = pTask.EstimatedEndDate.ToJavaDate();
        task.Estimated = true;
        task.Priority = null;
        task.Type = null;
    }

    TaskContainer taskCon = project.AllTasks;
    if (taskCon.Size() >= 1)
    {
        java.io.OutputStream outs = null;
        try
        {
            // string serverPath = Server.MapPath(fileName);
            if (System.IO.File.Exists(fullFileName))
            {
                System.IO.File.Delete(fullFileName);
            }
            MSPDIWriter writer = new MSPDIWriter();
            outs = new java.io.FileOutputStream(fullFileName);
            writer.Write(project, outs);
            outs.close();

            if (System.IO.File.Exists(fullFileName))
            {
                string fileName = "ProjectTask.xml";
                WebClient client = new WebClient();
                HttpResponse response = HttpContext.Current.Response;
                response.Clear();
                response.ClearContent();
                response.ClearHeaders();
                response.Buffer = true;
                response.ContentType = "Application/msproject";
                response.AddHeader("Content-Disposition", "attachment;filename=\"" + fileName + "\"");
                byte[] data = client.DownloadData(fullFileName);
                response.BinaryWrite(data);
                Response.End();
            }
        }
        catch (System.Exception ex)
        {

        }
        finally
        {
            if (outs != null)
            outs.close();
        }
    }   

Я провел хорошее исследование в этом. Пожалуйста, дайте мне знать, если вам нужна дополнительная помощь по этому вопросу.

Краткий обзор форматов файлов.MPP, .MPX

http://mpxj.sourceforge.net/howto-start.html

Пример кода для записи в формате.MPX

https://iniy.org/?p=337

Другие вопросы по тегам