Почему я не могу зарегистрировать свою активность CRM Custom Workflow? - PullRequest
0 голосов
/ 12 сентября 2018

Мне удалось успешно зарегистрировать свою сборку рабочего процесса, но я получил сообщение об ошибке ниже при попытке зарегистрировать свою пользовательскую активность рабочего процесса.Это привело к тому, что моя сборка рабочего процесса находилась в CRM, но в ней не было операций с пользовательским кодом.

Необработанное исключение: System.ServiceModel.FaultException Плагин сборки не содержит требуемых типов, или содержимое сборки не можетбыть обновленным.

Трассировка стека сервера:

at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Исключение переброшено в [0]: в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (IMessage reqMsg, IMessage retMsg) в системе.Runtime.Remoting.Sdk.PluginRegistration.Forms.PluginRegistrationForm.btnRegister_Click (Отправитель объекта, EventArgs e)

Подробности:

<OrganizationServiceFault xmlns="http://schemas.microsoft.com/xrm/2011/Contracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <ActivityId>5940962f-8dad-45bd-95f5-d9bdacab5c36</ActivityId>
  <ErrorCode>-2147204725</ErrorCode>
  <ErrorDetails xmlns:a="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
  <Message>Plug-in assembly does not contain the required types or assembly content cannot be updated.</Message>
  <Timestamp>2018-09-07T12:08:17.3337398Z</Timestamp>
  <ExceptionRetriable>false</ExceptionRetriable>
  <ExceptionSource i:nil="true" />
  <InnerFault>
    <ActivityId>5940962f-8dad-45bd-95f5-d9bdacab5c36</ActivityId>
    <ErrorCode>-2147204725</ErrorCode>
    <ErrorDetails xmlns:a="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
    <Message>Plug-in assembly does not contain the required types or assembly content cannot be updated.</Message>
    <Timestamp>2018-09-07T12:08:17.3357419Z</Timestamp>
    <ExceptionRetriable>false</ExceptionRetriable>
    <ExceptionSource i:nil="true" />
    <InnerFault i:nil="true" />
    <OriginalException i:nil="true" />
    <TraceText i:nil="true" />
  </InnerFault>
  <OriginalException i:nil="true" />
  <TraceText i:nil="true" />
</OrganizationServiceFault>

1 Ответ

0 голосов
/ 12 сентября 2018

Моя пользовательская активность рабочего процесса, унаследованная от базового базового класса.Это не поддерживается CRM:

public class MyWorkflow: MyWorkflowBase<int>
{
    #region Overrides of CodeActivity

    protected override void Execute(CodeActivityContext context) { throw new NotImplementedException(); }

    #endregion
}

public abstract class MyWorkflowBase<T> : CodeActivity
{

}

Мне пришлось конвертировать мой Generic T в интерфейс и приводить фактический тип по мере необходимости, что не идеально.Плагины не страдают от этой участи, потому что они просто ищут реализацию IPlugin (который, если вы используете универсальный базовый класс, вам придется явно объявить, реализован в вашем классе плагинов. Определение базового класса как реализацииIPlugin не будет работать, если в вашей иерархии есть общий класс).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...