我正在将网站内容类型添加到子网站,并将此内容类型附加到文档库。我附加基于默认WorkFlow模板“收集反馈-SharePoint 2010”的WorkflowAssociation。 这一切都是由CSOM完成到SharePoint-Online。 我检查了库和列表内容类型,同时站点内容类型显示了工作流程。因此,在这里,一切看起来都不错。 然后,如果我通过SharePoint-UI导航到网站内容类型,并且想要保存工作流的更改(例如AutoStartChange)并更新相关的内容类型,则会收到错误消息。错误为:“参数计数不匹配”。 如果我通过库中的列表内容类型更改工作流,则不会出现上述错误,并且设置将被保存。
如果我通过UI创建工件,一切都会按预期进行。这是我正在使用的代码:
var web = context.Web;
context.Load(web);
context.ExecuteQuery();
var cts = web.ContentTypes;
context.Load(cts);
context.ExecuteQuery();
var wfts = web.WorkflowTemplates;
context.Load(wfts);
context.ExecuteQuery();
var ct = cts.FirstOrDefault(c => c.Name == ContentTypeNames.QMDokument);
context.Load(ct);
context.ExecuteQuery();
var wfTemplate = wfts.GetByName(BuiltInWorkflowNames.CollectFeedbackSharePoint2010);
context.Load(wfTemplate);
context.ExecuteQuery();
var historyList = web.Lists.GetByTitle("Workflowverlauf");
context.Load(historyList);
context.ExecuteQuery();
var taskList = web.Lists.GetByTitle("Aufgaben");
context.Load(taskList);
context.ExecuteQuery();
WorkflowAssociationCreationInformation wfaci = new WorkflowAssociationCreationInformation();
wfaci.Template = wfTemplate;
wfaci.HistoryList = historyList;
wfaci.TaskList = taskList;
wfaci.ContentTypeAssociationHistoryListName = "Workflowverlauf";
wfaci.ContentTypeAssociationTaskListName = "Aufgaben";
wfaci.Name = "Kenntnisnahme";
WorkflowAssociation newWaci = ct.WorkflowAssociations.Add(wfaci);
ct.Update(false);
context.ExecuteQuery();
如果我在更新内容类型时指定true:
ct.Update(true);
我收到与保存用户界面相同的错误:
“参数计数不匹配”
如果我将WorkFlowAssociation部署到网站内容类型,则我应该能够通过SharePoint-UI或CSOM更新WorkFlow,但这会导致错误。
在Specification中,我的代码应有效。任何提示,我可能做错了什么?