As a Dynamics 365 (CRM) developer you have probably come to rely on the Dynamics CRM SDK over the years. With the release of Dynamics 365 Customer Engagement 9.0 (a.k.a. July 2017 Update) the old downloadable SDK has been replaced by an online document set and NuGet packages. This allows the SDK to become more of a living document where everyone is always referencing the most up-to-date information from Microsoft. Overall, I believe this is a big positive for developers which will make for a better development experience.

Now, just because it’ll be better in the long-term doesn’t mean there isn’t some pain. Primarily, the question of where do I get this info and how do I use these NuGet packages. Or, as someone put it, where did the Plugin Registration Tool go. Don’t worry, everything is still available and easily accesses.

First, as a developer you will want to use (probably bookmark) the following link: Developer Guide for Dynamics 365 Customer Engagement (a.k.a. Dynamics CRM SDK).

Image of webpage at https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/developer-guide

The Dynamics 365 SDK on docs.microsoft.com

An Interactive SDK

One of the great things about driving SDK usage to docs.microsoft.com is that users are encouraged to provide immediate feedback on the SDK. The SDK pages allow for public comments and responses. The result being that over time a richer will come to be than could ever be produced by just the product team responsible for documentation. When you find something is slightly different than the SDK says, just post a comment to let Microsoft know and also to help other developers who may come to that page looking for the information.

A threaded comment from docs.microsoft.com

Example of Commenting on Dynamics SDK content on docs.microsoft.com

Where is PluginRegistrationTool.exe?

So all of the binaries and tools that you previously got as part of the SDK download have been moved to NuGet packages. This makes it much easier for Microsoft to update and distribute them. It should also make your job as a developer much easier, because you can take a depedency on NuGet (released packages can’t be deleted) and always get the latest before doing a build – eliminating the need to store a binary file in your source code control system.

Okay, but I still need the PluginRegistrationTool.exe file so how do I get it? The good news is that Microsoft has put together an easy to use PowerShell script to download the unpack the relevant NuGet file. If you go the Download tool from NuGet page you’ll find the list of NuGet packages and a handy PowerShell script with instructions.

Follow the instructions on the page to install all the relevant bits. In about 30 seconds, depending on how fast the downloads go, you’ll have a directory full of all the SDK goodies you need to build amazing solutions with Dynamics 365.

A listing of the files related to the PluginRegistration tool as they appear after installation of the NuGet package

Listing of \tools\pluginregistration after installing NuGet Packages using PowerShell

Other NuGet Packages for the Dynamics SDK

Additional NuGet packages from Microsoft can be found at: https://www.nuget.org/profiles/crmsdk. You’ll need to write up your own PowerShell to automate downloading and unpacking these, as necessary. Most of these are for use in Visual Studio as part of your development pipeline (and should be handled by Visual Studio) but there are some, such as sample code, that you may find handy at times.