none
Ошибка при публикации рабочего процесса в SPD с использованием собственного активити. RRS feed

  • Вопрос

  • сделал аналогично как в руководстве "SharePoint_2010_Developer_Walkthrough_Guid.pdf" Упражнение 6. (старницы 64-79)
    файл .ACTIONS

    <?xml version="1.0" encoding="utf-8" ?>
    <WorkflowInfo>
     <Actions Sequential="then" Parallel="and">
      <Action Name="Получить заместителя для сотрудника версия 4"
       ClassName="GetZamestitel.GetZamestitel"
       Assembly="GetZamestitel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d05d1bb6685deb42"
       AppliesTo="all"
       Category="Custom Actions">
       <RuleDesigner Sentence="Получить из списка %1 для сотрудника %2 его заместителя и записать в %3 ">
        <FieldBind Field="SourceList" Text="ListName" Id="1"> </FieldBind>
        <FieldBind Field="Rukovoditel" Text="RukovoditelName" DesignerType="SinglePerson" Id="2"> </FieldBind>
        <FieldBind Field="Zamestitel" Text="ZamestitelName" DesignerType="ParameterNames" Id="3"> </FieldBind>
       </RuleDesigner>
       <Parameters>
        <Parameter Name="__Context" Type="Microsoft.SharePoint.WorkflowActions.WorkflowContext, Microsoft.SharePoint.WorkflowActions" Direction="In"/>
        <Parameter Name="SourceList" Type="System.String, mscorlib" Direction="In"/>
        <Parameter Name="Rukovoditel" Type="System.String, mscorlib" Direction="In"/>
        <Parameter Name="Zamestitel" Type="System.String, mscorlib" Direction="Out"/>
       </Parameters>
      </Action>
     </Actions>
    </WorkflowInfo>
    


    сам активити:

    namespace GetZamestitel
    {
      public partial class GetZamestitel : Activity
      {
        public static DependencyProperty SourceListProperty = DependencyProperty.Register("SourceList", typeof(string), typeof(GetZamestitel));
    
        public static DependencyProperty RukovoditelProperty = DependencyProperty.Register("Rukovoditel", typeof(string), typeof(GetZamestitel));
    
        public static DependencyProperty ZamestitelProperty = DependencyProperty.Register("Zamestitel", typeof(string), typeof(GetZamestitel));
    
        public static DependencyProperty __ContextProperty = DependencyProperty.Register("__Context", typeof(WorkflowContext), typeof(GetZamestitel));
    
        [DescriptionAttribute("Context")]
        [ValidationOption(ValidationOption.Optional)]
        [BrowsableAttribute(true)]
        [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]
        public WorkflowContext __Context
        {
          get { return ((WorkflowContext)(base.GetValue(__ContextProperty))); }
          set { base.SetValue(__ContextProperty, value); }
        }
    
        [DescriptionAttribute("Rukovoditel")]
        [ValidationOption(ValidationOption.Optional)]
        [BrowsableAttribute(true)]
        [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]
        public string Rukovoditel
        {
          get { return ((string)(base.GetValue(RukovoditelProperty))); }
          set { base.SetValue(RukovoditelProperty, value); }
        }
    
        [DescriptionAttribute("Zamestitel")]
        [ValidationOption(ValidationOption.Optional)]
        [BrowsableAttribute(true)]
        [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]
        public string Zamestitel
        {
          get { return ((string)(base.GetValue(ZamestitelProperty))); }
          set { base.SetValue(ZamestitelProperty, value); }
        }
     
        [DescriptionAttribute("SourceList")]
        [ValidationOption(ValidationOption.Optional)]
        [BrowsableAttribute(true)]
        [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Visible)]
        public string SourceList
        {
          get { return ((string)(base.GetValue(SourceListProperty))); }
          set { base.SetValue(SourceListProperty, value); }
        }
     
        protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
        {
          return ActivityExecutionStatus.Closed;
        }
    
        public GetZamestitel()
        {
          InitializeComponent();
        }
      }
    }
    


    создаю РП в SPD 2010, РП сосотит всего лишь из одного моего активити. Указываю необходимые параметры, нажимаю опубликовать и получаю ошибку:

     

    При компиляции рабочего процесса были обнаружены ошибки. Файлы рабочего процесса сохранены, но не могут быть выполнены.
     (18,30) Имя типа 'GetZamestitel' отсутствует в типе 'GetZamestitel.GetZamestitel'

    Это мой первый активити, поэтому прошу ткнуть ноcом где косяк. Сравниваю с гайдом, практически все так как там (с некоторыми изменениями), не понимаю в чем ошибка.что не хватает.

     

     



    29 ноября 2011 г. 3:10

Ответы

  • Изменил название класса.
    не знаю с чем не должно совпадать название класса, с пространством имен или с именем dll.
    сейчас имя dll и пространство имен называются одинаково, а вот имя класса отличается, и все пошло на ура.
    • Помечено в качестве ответа Roman Zhukov 5 декабря 2011 г. 5:24
    5 декабря 2011 г. 3:25

Все ответы

  • Вопрос решен..

    1 декабря 2011 г. 3:01
  • Здравствуйте,

    могли бы описать решение вкратце, вдруг понадобится кому-нибудь.


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
    2 декабря 2011 г. 12:22
  • Изменил название класса.
    не знаю с чем не должно совпадать название класса, с пространством имен или с именем dll.
    сейчас имя dll и пространство имен называются одинаково, а вот имя класса отличается, и все пошло на ура.
    • Помечено в качестве ответа Roman Zhukov 5 декабря 2011 г. 5:24
    5 декабря 2011 г. 3:25