如何使用CSOM创建新的EPT

时间:2016-07-01 09:19:25

标签: c# sharepoint-2013 csom project-server ms-project-server-2013

我尝试使用C#CSOM库创建一个新的EPT(项目服务器2013)。 但它发生了以下错误。

" PJClientCallableException:EnterpriseProjectTypeInvalidCreatePDPUid"

一些文章告诉要更改" IsCreate = true"。但它对我来说并不成功。这是我所做的代码。

osc_add_filter("meta_title_filter", function ($text) {
    // Do something with $text, search city name and add the region;
    return $text;
});

任何人都可以解释这个问题或提供工作代码部分。

1 个答案:

答案 0 :(得分:0)

我想建议如下:

定义企业项目类型:

string basicEpt = "Enterprise Project"; // Basic enterprise project type.
int timeoutSeconds = 10;  // The maximum wait time for a queue job, in seconds.

然后,当您创建新项目时,请按以下方式工作:

ProjectCreationInformation newProj = new ProjectCreationInformation();

            newProj.Id = Guid.NewGuid();
            newProj.Name = "Project Name";
            newProj.Description = "Test creating a project with CSOM";
            newProj.Start = DateTime.Today.Date;


            // Setting the EPT GUID is optional. If no EPT is specified, Project Server  
            // uses the default EPT. 
            newProj.EnterpriseProjectTypeId = GetEptUid(basicEpt);

            PublishedProject newPublishedProj = projContext.Projects.Add(newProj);
            QueueJob qJob = projContext.Projects.Update();

            // Calling Load and ExecuteQuery for the queue job is optional.
            // projContext.Load(qJob);
            // projContext.ExecuteQuery();
            JobState jobState = projContext.WaitForQueue(qJob, timeoutSeconds);

当该段代码的最后一行结束时,必须创建并发布项目以定义任务或其他任何内容。

我不知道你的代码发生了什么,看起来很棒。

希望对你有所帮助,