我正在尝试使用CSOM将预算工作分配添加到项目在线项目的任务零。这是一个代码片段。我也尝试过使用rest服务添加分配(请参见下面的powershell代码)。都不起作用。有趣的是,powershell代码似乎可以正常工作,但是当我检查项目时,任务零没有分配。除了使用MSProject.Interop客户端对象模型外,没有人找到一种在项目在线项目的任务零上设置分配的方法吗?
//Load project with SummaryTaskId
prjContext2.Load(newPublishProj, p => p, p => p.SummaryTaskId);
prjContext2.ExecuteQuery();
DraftAssignment assignment1 = draft.Assignments.Add(new AssignmentCreationInformation()
{
ResourceId = guidResourceId,
TaskId = newPublishProj.SummaryTaskId,
Id = Guid.NewGuid()
});
assignment1.BudgetedWork = budgetWork;
draft.Update();
Powershell code
$body = "{
'parameters': {
'Start': '$assignStart',
'Finish': '$assignFinish',
'ResourceId': '$resourceid',
'TaskId': '$taskid',
'Notes': ''
}
}"
Post-ReSTRequest $toSiteUrl "ProjectServer/Projects('$projectid')/Draft/Assignments/Add" $body