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

Dynamics crm 如何更新CRM插件-我得到;插件程序集不包含所需类型或程序集内容无法更新;,dynamics-crm,dynamics-crm-2016,Dynamics Crm,Dynamics Crm 2016,因此,我正在尝试迁移到CRM 2016,并希望更新CRM插件 为此,我使用CRM插件注册工具。我想更新的一个示例插件是: 在工具中,我选择程序集->右键单击“更新”->选择dll(上面的链接)->选中其步骤2的复选框(全部或仅包括在早期版本中)->“更新所选插件”,然后我将得到以下错误: Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Mi

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

为此,我使用CRM插件注册工具。我想更新的一个示例插件是:

在工具中,我选择程序集->右键单击“更新”->选择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()
未处理的异常:System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault,Microsoft.Xrm.Sdk,Version=8.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35]:插件程序集不包含所需的类型或程序集内容无法更新。
详情:

类似,但对我没有帮助。

只需转到设置->自定义->自定义系统,选择插件,选择程序集,然后单击“显示依赖项”。它将显示此程序集绑定到的所有工作流/活动。一旦删除了依赖项,就可以注销插件,重新注册插件


如果不想重新创建所有步骤,只需创建一个空的解决方案,将所有插件步骤添加到其中并导出即可。重新注册插件后,只需重新导入解决方案,就可以返回所有步骤。仅当插件的名称空间未更改时,此操作才有效。

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

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

现有插件程序集包含新版本中不存在的插件类。首先注销插件类型,然后更新程序集。@HenkvanBoeijen如果需要,我在哪里可以看到插件的使用位置,以便正确读取它?此外,我还尝试注销它,之后出现以下错误:
PluginType([id])组件无法删除,因为它被1个其他组件引用。对于引用组件的列表,请使用RetrieveDependenciesForDeleteRequest。
在这种情况下,它必须是工作流活动;插件类没有依赖组件。打开默认解决方案并查找代码活动。有一个按钮打开一个显示依赖项的窗口。当没有依赖项时,可以删除该组件。