I have a couple of puzzling questions about CRM development and I thought I would blog about them in the hope someone might come up with an answer.
- Where is the CRM developer toolkit for CRM 2015?
- When will the developer toolkit be supported in Visual Studio 2013?
What is the CRM developer toolkit?
If you don’t know what the CRM developer toolkit is, it’s likely you haven’t done any CRM development and/or written any CRM plugins.
If you have written plugins without using the CRM developer toolkit it usually means you have been a CRM developer using CRM 2011 and older, which in turn means you are old and go round saying
“I remember the day when CRM had it’s own variables (CRM 4) and we had create plugins by hand”
The CRM developer toolkit is a fantastic tool created by Microsoft make CRM development easier and quicker.
They have a great page here, which describes the functionality provided
With the Developer Toolkit, you can do the following:
Easily generate strongly typed proxy classes without having to run CrmSvcUtil.exe.
Get access to entity and option set definitions within Visual Studio.
Generate plug-in code so you can immediately begin to write code for business logic.
Edit and register plug-ins without using the Plug-in registration tool.
Create new web resources or extract existing web resources, add them to your solution, edit them, and deploy changes all within Visual Studio.
Create and edit workflow and dialog processes from within Visual Studio.
Create and deploy XAML workflows in Visual Studio.
Get easy access to security role and field security profile information in Visual Studio.
I love the CRM developer toolkit, it’s 100 percent awesome.
I made a video on how to set it up, blog version here
Looking at and understanding the Plugin.cs class which is provided by the CRM Developer toolkit is a great way to understand how plugins work and what the CRM developer toolkit does to ease the creation of plugins/custom workflows.
The plugin class acts as a template getting all the useful objects from the IServiceProvider (in the olden days we had to write this code ourselves, you don’t know how lucky you are etc).
internal LocalPluginContext(IServiceProvider serviceProvider) { if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } // Obtain the execution context service from the service provider. this.PluginExecutionContext = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); // Obtain the tracing service from the service provider. this.TracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService)); // Obtain the Organization Service factory service from the service provider IOrganizationServiceFactory factory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); // Use the factory to generate the Organization Service. this.OrganizationService = factory.CreateOrganizationService(this.PluginExecutionContext.UserId); this.ServiceProvider = serviceProvider; this.OrganizationServiceFactory = factory; }
Here is a step by step guide to creating a simple plugin using the CRM developer toolkit
CRM 2013 – Step by Step Update Plugin Tutorial using the CRM 2013 Development Toolkit
What is the problem with the CRM Developer toolkit
I’m not sure about the reasons why the CRM Developer toolkit has been omitted from the CRM 2015 SDK?
It’s not all bad because you can use the CRM developer toolkit in CRM 2013. Excluding the CRM developer toolkit from CRM 2015 makes it more difficult for new CRM developers because they need to go and hunt the CRM developer toolkit from CRM 2013.
I have asked Microsoft support and anyone who listens to my twitter account but no one seems to know when it will be released for CRM 2015 or the cause of the delay (are they rewriting it?)
The answer I got was the CRM Development team are very busy and only have limited resources. I should raise/vote for item on the Microsoft connect site.
There is no doubt the Microsoft CRM development team have been busy bees, particularly when you see all the new functionality in CRM 2015 SP1.
I do find it perplexing the CRM developer toolkit hasn’t been updated to work with CRM 2015 and work with Visual Studio 2013. Here are the reason
- Visual Studio 2013 is a few years old now and Visual Studio 2015 will be released leaving CRM developers stuck using Visual studio 2012.
- I would have thought this would have been a priority, not only would it mean CRM developers could upgrade to Visual Studio 2013.
- Is it not in Microsoft’s interest to get developers using the latest versions of their software?
- We want CRM development to be easier not harder, particularly for new CRM developers
VOTE FOR THE CONNECT ISSUE
I think the Microsoft Connect site could be improved and I have written about this before
Is Microsoft Listening to the Dynamics CRM Community?
Navigating the connect site and searching for this issue has done nothing to change my opinion. It was difficult and slow.
Here is the issue, please vote it up
Dynamics CRM Developer Toolkit for CRM 2015/Visual Studio 2013
What frustrates me about the Connect site is it could be great at gathering useful suggestions but this issue was raised on 16th Jan 2015. It has had four replies and none of them from Microsoft!
Have Microsoft read it?
Is this issue a duplicate?
It’s almost 6 months later and Microsoft haven’t even responded. Microsoft encourage people to raise connect suggestions but then nothing happens when people do. My view is the connect system is not working very effectively and could be improved.
There are workarounds
There is a great blog post Dynamics CRM 2015 SDK and Developer Toolkit, this quote explains why and the article shows you how to work round this
The new CRM SDK 2015 doesn’t give support yet for our known CRM Developer Toolkit, which has been part of the CRM SDK until CRM 2013. Basically, the CRM SDK 2015 assemblies have been compiled with .NET Framework 4.5.2, but CRM Developer Toolkit was compiled using NET Framework 4.5. See the next Microsoft article for more details.
The article below shows you how to get the CRM developer toolkit working with visual studio 2013 by editing a few files
Microsoft Dynamics CRM 2013 Toolkit with Visual Studio 2013
Conclusion
I’m unsure of the reason why Microsoft have not released the CRM developer toolkit for Visual studio 2013 and CRM 2015.
If anyone knows the reason, please leave a comment.
It’s seems counter productive to make CRM development harder for new releases of CRM and newer versions of Visual studio.
Hopefully if enough people vote the Connect suggestion, Microsoft will at least reply to the suggestion or better yet use the workarounds to make an official release of the CRM developer toolkit.
All information welcome
Filed under: CRM 2011, CRM 2013, CRM 2015, CRM Developer Toolkit