mYnDstrEAm
mYnDstrEAm

Reputation: 789

How to update CRM Plugins - I get "Plug-in assembly does not contain the required types or assembly content cannot be updated"

So I'm trying to migrate to CRM 2016 and would like to update the CRM plugins.

For this I'm using the CRM Plugin Registration Tool. One exemplary plugin that I'd like to update would be this one: https://crm2011distributewf.codeplex.com/

In the tool I select the assembly -> right click "Update" -> select the dll (link above) -> check the boxes of its step 2 (either all or just the ones included in the earlier version) -> "Update Selected Plugins" then I'll get this error:

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()

Any idea for how to update them? I'm also getting this error for the other plugins.

Do I have to unregister the plugins an register them anew? And if so where can I find where they're used and readd them?

Note: this question is similar but didn't help me a cm.

Upvotes: 2

Views: 6679

Answers (3)

AJ AJ
AJ AJ

Reputation: 325

Another option, you unregistered a plugin in the DEV environment. But the plugin exists in the target environment. Unregister the specific plugin from the target, and try to update again.

Upvotes: 0

Minhaj
Minhaj

Reputation: 156

Verify that have you change the name of any pugin, in that case you have to unregister plugin from old name first.

Upvotes: 0

Pawel Gradecki
Pawel Gradecki

Reputation: 3586

Simply go to Settings -> Customizations -> Customize the System, select Plug-ins, select your assembly and click "Show dependencies". It will show you all the workflows/activities that this assembly is bound to. Once you remove your dependencies, you will be able to unregister an re-register your plugin.

If you don't want to re-create all your steps, simply create an empty solution, add all you plugin steps to it and export it. Once you re-register the plug-in, simply re-import the solution to have all your steps back. This will work only if the namespaces for plug-ins were not changed.

Upvotes: 1

Related Questions