Sharepoint Designer говорит: Список действий рабочего процесса на сервере ссылается на несуществующую сборку.

Я успешно развертываю свое настраиваемое действие в списке действий, доступных для использования в моем SharePoint Designer, но при открытии существующего рабочего процесса или создании нового в конструкторе я получаю сообщение (и, конечно, мое настраиваемое действие отсутствует в список действий)

Список действий рабочего процесса на сервере ссылается на несуществующую сборку. Некоторые действия будут недоступны. Строгое имя сборки: {Фактическое строгое имя сборки}. Свяжитесь с администратором вашего сервера для получения дополнительной информации.

Я проверил имя строгой сборки, глобальный кэш сборок, параметры пакета, файл .ACTIONS, web.config ... Кажется, все в порядке. Есть новые идеи?




Ответы (3)


Я предполагаю, что настраиваемое действие - это развернутая операция фермы, которая наследуется от System.Workflow.ComponentModel.Activity (возможно, с использованием подкласса SequenceActivity, но на самом деле это не имеет значения)

Я предполагаю, что вы не создали требуемый файл ACTIONS, который развертывается в TEMPLATE \ 1033 \ Workflow.

<?xml version="1.0" encoding="utf-8" ?>
<WorkflowInfo>
  <Actions Sequential="then" Parallel="and">
    <Action Name="Description for SP Designer"
            Assembly="$SharePoint.Project.AssemblyFullName$"
            ClassName="AssemblyName.ClassName"
            AppliesTo="all"
            Category="SPD category"
            UsesCurrentItem="true"
            >
      <RuleDesigner Sentence="Line as it appears in SPD workflow" />
      <Parameters>
        <Parameter Name="__ActivationProperties" Type="Microsoft.SharePoint.Workflow.SPWorkflowActivationProperties, Microsoft.SharePoint" Direction="In" />
      </Parameters>
    </Action>
  </Actions>
</WorkflowInfo>

SPD читает список действий из файлов ACTIONS. Добавление файла приведет к его появлению в меню. Чтобы фактически добавить его в рабочий процесс, вам также необходимо авторизовать настраиваемое действие рабочего процесса по имени класса.

Чтобы добавить авторизованный тип, я использую приемник функций со следующей модификацией spweb:

private SPWebConfigModification CreateWebConfigModification(string assembly, string assemblyNamespace)
{
    return new SPWebConfigModification()
    {
        Type = (SPWebConfigModification.SPWebConfigModificationType)0,
        Name = String.Format("authorizedType[@Assembly='{0}'][@Namespace='{1}'][@TypeName='*'][@Authorized='True']", (object)assembly, (object)assemblyNamespace),
        Path = "configuration/System.Workflow.ComponentModel.WorkflowCompiler/authorizedTypes",
        Owner = assemblyNamespace,
        Sequence = 0U,
        Value = String.Format("<authorizedType Assembly='{0}' Namespace='{1}' TypeName='*' Authorized='True' />", (object)assembly, (object)assemblyNamespace)
    };
}

это сгенерирует SPWebConfigModification, который можно использовать во время установки / удаления.

person Scott Brickey    schedule 15.02.2012

Проверьте свои права местного администратора. Эта ошибка возникает, если у вас нет местных привилегий.

person Brian    schedule 26.09.2012
comment
В среде терминального сервера, где вы хотите использовать SharePoint Designer для нескольких пользователей и им необходимо администрировать рабочие процессы SharePoint 2013, кажется, что это действительно проблема. SharePoint Designer пытается загрузить сборки рабочего процесса с сервера SharePoint и установить их в GAC, но, если вы не являетесь локальным администратором (что очень маловероятно в среде терминального сервера), это не удастся. - person Ashley; 24.10.2013

создать новый веб-сайт и семейство сайтов и создать новый рабочий процесс для нового сайта. вы получите сообщение об ошибке. не сохраняйте рабочий процесс. и закройте СПД. повторно откройте конструктор и создайте новый рабочий процесс, который решит проблему.

person user4814590    schedule 21.04.2015