我使用以下代码在 Project Server 2019 上通过 CSOM 添加新任务请求:
var resources = projectContext.LoadQuery(projectContext.EnterpriseResources.Where(n => n.Name == username));
projectContext.ExecuteQuery();
var resource = resources.ElementAtOrDefault(0);
StatusAssignmentCreationInformation creationInformation = new StatusAssignmentCreationInformation();
creationInformation.ProjectId = projectGuid;
creationInformation.Comment = "new task";
creationInformation.Task = new StatusTaskCreationInformation() { Name = "New Task" };
creationInformation.Task.Start = DateTime.Now;
creationInformation.Task.Finish = DateTime.Now.AddDays(7);
resource.Assignments.Add(creationInformation);
resource.Assignments.Update();
resource.Assignments.SubmitAllStatusUpdates("new task");
projectContext.ExecuteQuery();
如果项目服务器包含 < 1000 个企业资源,它就可以工作。projectContext.ExecuteQuery()
在另一种情况下,它会在最后一步生成以下错误:
资源过多:1132。不能为超过 1000 个资源加载依赖对象。使用过滤器来限制您的查询。
但是,该代码不包含对 1132 个资源的任何查询(第一行只有 1 个资源)。
我该如何解决这个问题?