With the latest release of the CRM 4 Sdk (4.0.5) Microsoft has added 64-bit versions of the reference assemblies (Microsoft.Crm.Sdk.dll and Microsoft.Crm.SdkTypeProxy.dll) used in plugins. This has raised a few questions for us because many of our clients are running 64-bit versions of CRM with plugins we developed using the 32-bit assemblies. The biggest question is whether or not we should recompile our plugins to use these 64-bit assemblies or if it's ok to use the 32-bit assemblies compiled to be platform neutral. Below is a response I received from Microsoft regarding this issue that I wanted to share with everyone:
If your extension is built platform neutral than the extension will work on both 32-bit and 64-bit environments. If you build your extension platform specific it will only work on the environment you’ve compiled it for. So if your extension is platform neutral and was built using the previous versions that were shipped in the SDK, this will continue to work moving forward but it is not supported to run a 32-bit extension that is compiled to run only on 32-bit and then run it on a 64-bit server.
Here’s the matrix of what will work:
| Plugin Target Environment | CRM x64 | CRM x32 |
| Neutral | X | X |
| x86 | | X |
| x64 | X | |
If you’ve built the plugin with platform neutral, then it will work on x64 even if you used the x86 version of the SDK.
This posting is provided "AS IS" with no warranties, and confers no rights.