I was working on a project and one of my plugins was throwing an error, so I fired up the Plugin profiler to debug it. This is the second article I have written about the Plugin Profiler this week
If you want some step by step instructions for debugging with CRM 2013 Plugin Registration tool, this article is pretty good
Error whilst debugging
I loaded up CRM 2013 plugin profiler, oohed and ahhed at the spruced up appearance.
I installed the profiler
I triggered by plugin by creating a record
This gave me the serialized error, I downloaded it.
Debugged in the Plugin registration tool, choose my dll and downloaded txt.
Attached to the process in Visual Studio and started debugging.
The code instantly threw an error
Could not load file or assembly ‘Microsoft.Xrm.Sdk, Version=22.214.171.124
I have seen many CRM error in my time and they are usually a bit misleading but this error told me it couldn’t load the Microsoft.Xrm.Sdk version 126.96.36.199
The CRM SDK has versions which are different from the CRM release, it is what CRM would be if it used sensible numbering instead of years.
CRM 2011 – Version 188.8.131.52
CRM 2013 – Version 184.108.40.206
CRM 2015 – Version 220.127.116.11
You can see the CRM SDK versions if you go to this page
The zero’s will go up as service releases and patches are released by the important number is the first digit.
I was debugging a CRM 2013 instance but it was complaining about a missing CRM 2011 SDK dll!
Let me try something
I had a thought, why don’t I try using the CRM 2011 plugin registration tool but surely this wouldn’t work.
So I connected the CRM 2011 Plugin registration and used it to debug my plugin.
Now I have to admit I wasn’t expecting it to work but
What has happened
It seems I am working with a CRM 2013 project but the DLL’s used in the plugins are CRM 2011, I went off to check the dlls being used by the plugins
I’m guessing someone created a new CRM project and copied the DLL’s from a CRM 2011 project. This will work fine unless you need to use any of the new functionality in the CRM 2013 SDK.
It might also bring up an unusual error sometime in the future.
It’s interesting to note the core plugin functionality is the same between version CRM 2011 and CRM 2013.