Я добавляю тип контента сайта во вложенную сеть и присоединяю этот тип контента к библиотеке документов.Я присоединяю WorkflowAssociation на основе шаблона WorkFlow по умолчанию «Сбор отзывов - SharePoint 2010».Все это делается CSOM для SharePoint-Online.Я проверил библиотеку и тип содержимого списка, а также тип содержимого сайта показывает рабочий процесс.Итак, здесь все выглядит хорошо.Если я затем перехожу к типу контента сайта по интерфейсу SharePoint-UI и хочу сохранить изменения (например, AutoStartChange) рабочего процесса и обновить связанные типы контента, я получаю сообщение об ошибке.Ошибка: «Несоответствие количества параметров».Если я изменяю рабочий процесс через тип содержимого списка в своей библиотеке, я не получаю упомянутую ошибку, и настройки сохраняются.
Если я создаю артефакты с помощью пользовательского интерфейса, все работает должным образом.Вот код, который я использую:
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);
Я получаю ту же ошибку, что и при сохранении через пользовательский интерфейс:
"Количество параметровmismatch "
Если я разверну WorkFlowAssociation на тип контента сайта, я смогу обновить WorkFlow через SharePoint-UI или CSOM, но это приведет к ошибке.
Из Спецификация Мой код должен быть действительным.Любой намек, что я могу сделать не так?