DEV Community

akshayk47007
akshayk47007

Posted on

Download SDK for Dynamics 365 Customer Engagement

With every release of Dynamics 365 Customer Engagement(CRM) Microsoft comes up with a new version of SDK( Software Development Kit), and for the very new version of Dynamics 365, they did the same. The SDK for Dynamics 365 normally comes with a set of tools, resources, source code, and DLLs and can be download from Microsoft website.

What is SDK for Dynamics 365 Customer Engagement:

Dynamics 365 Customer Engagement SDK contains resources and tools that help us to develop code for CRM.
It includes different CRM APIs and helpful resources such as sample code (both server-side and client-side) and a list of tools to facilitate CRM development
SDK contains an architectural overview of Microsoft Dynamics 365, the entity model, security model, web services, and sample code.
Since Dynamics 365 CRM v9.0 there are few changes in the process. Let’s have a look at what are those changes.

Changes with SDK for Dynamics 365 CRM V9.0

Cannot directly download SDK from the Microsoft website. Now you have to download it as Nuget packages.
The SDK package includes only basic DLLs and tools ( No sample code, resource files, etc)
The DLLs and tools from previous SDK versions are not compatible with the present SDK version. Ex: Plugin registration tool of the previous SDK cannot connect to Dynamics 365 CE V9.0.
The folder structure of SDK the package is also changed.
So because of these changes, you have to download the latest version to work with Dynamics 365 CRM v9.0

Sadly, if you searching online for Dynamics 365 SDK you wouldn’t probably get the link for SDK for Dynamics 365 V9.x, instead, you get the link for Dynamics CRM v8.2. You can access the page from the following link but you cannot directly download from the link.

Two ways you can download the latest SDK.

Using Nuget package manager in visual studio.
Using Powershell.
We will explain the second method.

Download Dynamics 365 CRM V9.0 SDK Using PowerShell

Open Powershell.
Navigate to the folder you want to install the tools to. Ex: D: dev tools.
Copy and paste the following PowerShell script into the PowerShell window and press Enter.

$sourceNugetExe = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe"
$targetNugetExe = ".\nuget.exe"
Remove-Item .\Tools -Force -Recurse -ErrorAction Ignore
Invoke-WebRequest $sourceNugetExe -OutFile $targetNugetExe
Set-Alias nuget $targetNugetExe -Scope Global -Verbose

Download Plugin Registration Tool

./nuget install Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool -O .\Tools
md .\Tools\PluginRegistration
$prtFolder = Get-ChildItem ./Tools | Where-Object {$_.Name -match 'Microsoft.CrmSdk.XrmTooling.PluginRegistrationTool.'}
move .\Tools\$prtFolder\tools*.* .\Tools\PluginRegistration
Remove-Item .\Tools\$prtFolder -Force -Recurse

Download CoreTools

./nuget install Microsoft.CrmSdk.CoreTools -O .\Tools
md .\Tools\CoreTools
$coreToolsFolder = Get-ChildItem ./Tools | Where-Object {$_.Name -match 'Microsoft.CrmSdk.CoreTools.'}
move .\Tools\$coreToolsFolder\content\bin\coretools*.* .\Tools\CoreTools
Remove-Item .\Tools\$coreToolsFolder -Force -Recurse

Download Configuration Migration

./nuget install Microsoft.CrmSdk.XrmTooling.ConfigurationMigration.Wpf -O .\Tools
md .\Tools\ConfigurationMigration
$configMigFolder = Get-ChildItem ./Tools | Where-Object {$_.Name -match 'Microsoft.CrmSdk.XrmTooling.ConfigurationMigration.Wpf.'}
move .\Tools\$configMigFolder\tools*.* .\Tools\ConfigurationMigration
Remove-Item .\Tools\$configMigFolder -Force -Recurse

Download Package Deployer

./nuget install Microsoft.CrmSdk.XrmTooling.PackageDeployment.WPF -O .\Tools
md .\Tools\PackageDeployment
$pdFolder = Get-ChildItem ./Tools | Where-Object {$_.Name -match 'Microsoft.CrmSdk.XrmTooling.PackageDeployment.Wpf.'}
move .\Tools\$pdFolder\tools*.* .\Tools\PackageDeployment
Remove-Item .\Tools\$pdFolder -Force -Recurse

Download Package Deployer PowerShell module

./nuget install Microsoft.CrmSdk.XrmTooling.PackageDeployment.PowerShell -O .\Tools
$pdPoshFolder = Get-ChildItem ./Tools | Where-Object {$_.Name -match 'Microsoft.CrmSdk.XrmTooling.PackageDeployment.PowerShell.'}
move .\Tools\$pdPoshFolder\tools*.* .\Tools\PackageDeployment.PowerShell
Remove-Item .\Tools\$pdPoshFolder -Force -Recurse

Remove NuGet.exe

Remove-Item nuget.exe

Visit for more Download SDK for Dynamics 365 Customer Engagement

Top comments (0)