CRM plugin hard won learnings

If you need to use ILMerge, you must use an unencrypted string name key for your assembly

If you change the strong name key for your assembly, CRM thinks it’s a whole new assembly, so it might pay to create new ones explicitly

If you are now including the generated CRM early-bound classes through ILMerge instead of as a source include, remember to add [assembly: Microsoft.Xrm.Sdk.Client.ProxyTypesAssemblyAttribute()] to all deployed assemblies

Noisy Wednesday

It’s just a bit loud in the office today – they have started pile driving on the site next door

Strange CRM error – running a plugin on dev instance a consistent failure with “system user with id X does not exist”. Plugin was running as “calling user”. When deployed to staging and live, works fine… #notfixed

Drew up first cut of simplified E-R diagram of key CRM data around Contact for thunderhead