Unable to register 32-bit plugin assemblies in Microsoft Dynamics CRM 2011

This article helps you resolve the problem that occurs when you attempt to register a 32-bit plugin assembly in a Microsoft Dynamics CRM 2011 deployment.

Applies to:   Microsoft Dynamics CRM 2011
Original KB number:   2804252

Symptoms

When attempting to register a 32-bit plugin assembly in a Microsoft Dynamics CRM 2011 deployment, users may encounter the following error:

"Unable to load the specified plug-in assembly"

If one enables platform tracing within Microsoft Dynamics CRM, additional information is provided:

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Crm.Sdk, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. at System.Reflection.Assembly._GetExportedTypes() at PluginRegistrationTool.AssemblyReader.RetrievePluginsFromAssembly(String path) in C:\Users\administrator.DDCRM\Desktop\PluginRegistration 2.2\AssemblyReader.cs:line 59 at PluginRegistrationTool.AssemblyReader.RetrievePluginsFromAssembly(String path) at PluginRegistrationTool.RegistrationHelper.RetrievePluginsFromAssembly(String pathToAssembly) in C:\Users\administrator.DDCRM\Desktop\PluginRegistration 2.2\RegistrationHelper.cs:line 49 at PluginRegistrationTool.PluginRegistrationForm.btnLoadAssembly_Click(Object sender, EventArgs e) in C:\Users\administrator.DDCRM\Desktop\PluginRegistration 2.2\PluginRegistrationForm.cs:line 127

Cause

This issue is caused by the bitness of the assembly being registered. There is a restriction with any 32-bit plugin assembly where they have to be registered in Microsoft Dynamics CRM 2011 using a x86 version of the plugin registration tool.

This is documented in the Microsoft Dynamics CRM 2011 SDK but the documentation fails to mention that this restriction applies to any pre-existing Microsoft Dynamics CRM 4.0 plugin assemblies as well.

Resolution

The solution to be able to register a V4 or 32-bit plugin assembly is to build a x86 version of the plugin registration tool from the CRM 2011 SDK. The plugin registration tool from V4 can be used as well provided the Microsoft.Crm.Sdk.dll is copied to the same location as the pluginregistrationtool.exe.