Exploring the Microsoft Dynamics 365 SDK

Microsoft provide a downloadable SDK that contains a variety of resources which are often useful (or required) when working with 365. You can get the SDK here (or just Google it if the link drops). When you start the download process you may be offered two files.

  • MicrosoftDynamics365SDK – this is the SDK and the file you want, it will extract the SDK contents into a directory of your choice.
  • MicrosoftDynamicsCRM2016UII – you probably don’t want this, it’s the Unified Service Desk and the UII framework which provides a “framework for building integrated agent applications that provide unified access to customer information across different systems”.

This article is part of a series

Once you have the SDK extracted to a directory of your choice (the location doesn’t really matter) you will find a variety of files and folders. I’ll summarise the entire core contents below. I tend to download the SDK mainly to get the PluginRegistration tool, it’s probably the only part of the SDK you must use. Everything else is optional, rarely required, or accessible elsewhere as an individual download.

  • Bin
    • Assemblies for .Net developers, and used in the creation of plugins or custom workflow activities. I normally get these as Nuget packages, all authored by ‘crmsdk’. The MSDN describes the purpose of each assembly here.
    • CrmSvcUtil, a command line application used to generate .Net Early Bound classes that represent the CRM metadata.
    • SolutionPackager, extract a CRM solution file into its constituent parts for source control.
  • Resources
    • DataImportMaps, to help migrate data from Salesforce to 365.
    • ExportedRibbonXml, the ribbon/command bar definition for a variety of system entities.
    • Images, icons and images that ship with 365.
  • SampleCode, a variety of code samples demonstrating various tasks in a variety of languages. Many of the samples have matching MSDN pages, and there are also more samples on the MSDN Code Gallery and Github (non-Visual Studio).
  • Schemas, XML schemas for 365 elements. Never had to use these myself but could be useful if you are manually editing XML.
  • Templates, a Visual Studio (VSIX) template file (also available here). Provides project and item templates for CRM components. Doesn’t currently support Visual Studio 2017.
  • Tools
    • ConfigurationMigration, can be used for migration of data between 365 instances, only really suitable for small amounts of configuration data.
    • DeviceRegistration, not used this myself and oddly it’s just a couple of C# code files. When you run CrmSvcUtil against 365 online using the Microsoft account identity provider the tool registers your device automatically. Should you feel the need you can register manually using DeviceRegistration as described here.
    • MetadataBrowser, a solution you install into a 365 instance that provides an alternative method of viewing the system metadata.
    • PackageDeployer, bundles up solutions and data (from the ConfigurationMigration tool) into a deployable package. You can also execute custom code and display HTML content.
    • PluginRegistration, probably the most regularly used tool, this can deploy plugins and custom workflow activities (packaged as compiled assemblies) into a 365 instance.
    • WebResourceUtility, this can be used to streamline the task of uploading multiple files into 365 as web resources, again oddly its source code you must compile, check out the readme in the folder directory.
  • Dynamics365SDK.chm, a classic Compiled HTML help file. It’s pretty much a reproduction of the online MSDN so I don’t normally use it, though the search feature is handy.
  • EntityMetadata, some basic 365 entity metadata in an Excel file.
  • Message-entity support for plug-ins, contains information on the events within 365 a plugin can be attached to.

One thought on “Exploring the Microsoft Dynamics 365 SDK

  1. Pingback: Getting started with coded development in Microsoft Dynamics 365 | WOODSWORKBLOG

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s