Reputation: 789
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
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
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
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