I'm going to do a multi-post series on the functionality that comes with the Microsoft Dynamics 365 Developer Toolkit. In part 3 we are going to get setup to create plugins within the CRM Explorer and how it translates within the solution.
In part 2 of the series I mentioned that it fails to create a plugin or custom process assembly if you try to create one with just the Customizations project. It turns out that you need to create two additional projects. One for Dynamics 365 Package and one for Dynamics 365 Plug-in library. Let's start off from where we left off on Part 2 of the series with the Customizations project still open. We'll add a new Package project to it.
We select the Dynamics 365 Package
Now that we have the Package project added we'll add a new project the same way except we're going to select the Dynamics 365 Plug-in Library. Once complete your solution should look something like this with all 3 projects in it.
Now we're ready to create a plug-in using the CRM Explorer. We're going to create a new plug-in for an account. We head back to the CRM Explorer and expand entities then right click on Account and select Create Plug-in. Now we're prompted with a plug-in step registration pane.
This is actually using the plug-in registration tool and if your familiar with it you'll recognize this screen right away. We fill this out with the plug-in specific information needed for your plug-in. Once everything is configured how you need it you should see the following a .cs file added with the name of the plug-in to your plug-ins project.
We now can open PreValidationaccountCreate.cs and put our business logic in it.
Sometimes it isn't as simple as clicking a button to create functionality; in this case we had to create two new projects to facilitate the creation of plug-in. For me I remember when the first CRM developer toolkit was created for CRM 2011 and what an improvement it was over the tool set we used in CRM 4.0 so there is a bit of nostalgia for the CRM Explorer even if it's not always 100% smooth. I think once you have it setup it'll work for the majority of your development needs. I don't think i'm ready to replace my full development suite with this approach just yet but it's definitely headed down the right track. I know the dev team at Microsoft is working hard on this one and i'm excited about where they will take us!