如何更新CRM插件 - 我得到"插件程序集不包含所需类型或程序集内容无法更新"

时间:2017-05-03 15:23:57

标签: dynamics-crm dynamics-crm-2016

因此,我尝试迁移到CRM 2016,并希望更新CRM插件。

为此,我使用CRM插件注册工具。我想要更新的一个示例性插件就是这个:https://crm2011distributewf.codeplex.com/

在工具中我选择了装配 - >右键单击"更新" - >选择dll(上面的链接) - >检查其步骤2的框(全部或仅包含在早期版本中的那些) - > "更新选定的插件"然后我会收到这个错误:

Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: Plug-in assembly does not contain the required types or assembly content cannot be updated.
Detail: <OrganizationServiceFault xmlns="http://schemas.microsoft.com/xrm/2011/Contracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <ActivityId>00000000-0000-0000-0000-000000000000</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>2017-05-03T15:10:55.5223643Z</Timestamp>
  <ExceptionSource i:nil="true" />
  <InnerFault>
    <ActivityId>00000000-0000-0000-0000-000000000000</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>2017-05-03T15:10:55.5223643Z</Timestamp>
    <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>

Server stack trace: 
   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)

Exception rethrown at [0]: 
   at Microsoft.Crm.Tools.Libraries.RegistrationHelper.UpdateAssembly(CrmOrganization org, String pathToAssembly, CrmPluginAssembly assembly, PluginType[] type)
   at Microsoft.Crm.Tools.AssemblyRegistration.PluginRegistrationViewModel.btnregisterClick()

有关如何更新它们的任何想法?我也为其他插件收到此错误。

我是否必须取消注册插件重新注册?如果是这样,我在哪里可以找到他们使用的地方并阅读它们?

注意:this question类似,但没有帮助我一厘米。

3 个答案:

答案 0 :(得分:1)

只需转到设置 - &gt;自定义 - &gt;自定义系统,选择插件,选择您的程序集,然后单击&#34;显示依赖关系&#34;。它将显示此程序集绑定的所有工作流/活动。删除依赖项后,您将可以取消注册重新注册插件。

如果您不想重新创建所有步骤,只需创建一个空解决方案,将所有插件步骤添加到其中并导出。重新注册插件后,只需重新导入解决方案即可完成所有步骤。仅当插件的命名空间未更改时,这才有效。

答案 1 :(得分:0)

验证您是否已更改任何pugin的名称,在这种情况下,您必须先从旧名称中注销插件。

答案 2 :(得分:0)

另一个选项,您在DEV环境中取消了注册插件。但是该插件存在于目标环境中。 从目标中注销特定的插件,然后尝试再次更新。