Developer tools and resources

Developers will use the following tools and resources when working with solutions using Common Data Service.

Tools available for download from NuGet

The following tools are distributed in NuGet packages. The Developer Guide: Download tools from NuGet topic includes a PowerShell script you can use to download and extract the latest versions of these tools.

Tool Description
Code generation tool CrmSvcUtil.exe A command-line code generation tool that generates early-bound .NET Framework classes that represent the entity data model used by the organization service.
More information:
Organization Service
Create early bound entity classes with the code generation tool
Configuration Migration tool DataMigrationUtility.exe Used to move configuration data across environments. Configuration data is used to define custom functionality and is typically stored in custom entities. This tool is not designed to move business data.
More information: Common Data Service Administrator Guide: Move configuration data across instances and organizations with the Configuration Migration tool
Package Deployer PackageDeployer.exe Used to deploy packages on Common Data Service instances. A package is an installable unit that includes solutions.
More information:
Deploy Solution Packages
Create packages for the Common Data Service Package Deployer
Plug-in Registration Tool PluginRegistration.exe A tool used to subscribe .NET assembly plug-in classes to server events.
More information:
Create a plug-in
Register a plug-in
SolutionPackager tool SolutionPackager.exe A tool that can reversibly decompose a Common Data Service compressed solution file into multiple XML files and other files so that these files can be easily managed by a source control system.
More information:
Team development of solutions
Use the SolutionPackager tool to compress and extract a solution file

.NET SDK Assemblies

The following are assemblies .NET developers can use. The latest versions are available to download in the corresponding NuGet packages.

Work with data

Use these assemblies to interact with the organization service and discovery services.

More information: Use the Common Data Service Organization service

NuGet Package: Microsoft.CrmSdk.CoreAssemblies

Assembly Namespaces
Microsoft.Crm.Sdk.Proxy.dll Microsoft.Crm.Sdk
Microsoft.Crm.Sdk.Messages
Microsoft.Xrm.Sdk.dll Microsoft.Xrm.Sdk
Microsoft.Xrm.Sdk.Client
Microsoft.Xrm.Sdk.Discovery
Microsoft.Xrm.Sdk.Messages
Microsoft.Xrm.Sdk.Metadata
Microsoft.Xrm.Sdk.Metadata.Query
Microsoft.Xrm.Sdk.Organization
Microsoft.Xrm.Sdk.Query
Microsoft.Xrm.Sdk.WebServiceClient

Create Process Designer (Workflow) extensions

Use this assembly to add custom activities to the Process designer.

More information Custom workflow activities (workflow assemblies)

NuGet Package: Microsoft.CrmSdk.Workflow

Assembly Namespaces
Microsoft.Xrm.Sdk.Workflow.dll Microsoft.Xrm.Sdk.Workflow
Microsoft.Xrm.Sdk.Workflow.Activities
Microsoft.Xrm.Sdk.Workflow.Designers

Build windows client applications

Use these assemblies to facilitate connecting to the organization service and to build windows client applications.

More information Build Windows client applications using the XRM tools

NuGet Packages:

Assembly Namespaces
Microsoft.Xrm.Tooling.Connector.dll Microsoft.Xrm.Tooling.Connector
Microsoft.Xrm.Tooling.Connector.Model
Microsoft.Xrm.Tooling.CrmConnectControl.dll Microsoft.Xrm.Tooling.CrmConnectControl
Microsoft.Xrm.Tooling.CrmConnectControl.Model
Microsoft.Xrm.Tooling.CrmConnectControl.Properties
Microsoft.Xrm.Tooling.CrmConnectControl.Utility
Microsoft.Xrm.Tooling.WebResourceUtility.dll Microsoft.Xrm.Tooling.WebResourceUtility

Create packages

Use these assemblies to create packages for the Package Deployer.

More information: Create packages for the Common Data Service Package Deployer

NuGet Package: Microsoft.CrmSdk.XrmTooling.PackageDeployment

Assembly Namespace
Microsoft.Xrm.Tooling.PackageDeployment.CrmPackageExtentionBase.dll Microsoft.Xrm.Tooling.PackageDeployment.CrmPackageExtentionBase

Create Custom virtual entity data providers

Use this assembly to create custom virtual entity data providers.

More information: Get started with virtual entities

NuGet Package: Microsoft.CrmSdk.Data

Assembly Namespaces
Microsoft.Xrm.Sdk.Data.dll Microsoft.Xrm.Sdk.Data
Microsoft.Xrm.Sdk.Data.CodeGen
Microsoft.Xrm.Sdk.Data.Converters
Microsoft.Xrm.Sdk.Data.Exceptions
Microsoft.Xrm.Sdk.Data.Expressions
Microsoft.Xrm.Sdk.Data.Infra
Microsoft.Xrm.Sdk.Data.Mappings

Extend Outlook Client

Use this assembly to interact with Microsoft Dynamics 365 for Outlook and Microsoft Common Data Service for Microsoft Office Outlook with Offline Access.

More information: Extend Dynamics 365 for Outlook

NuGet Package: Microsoft.CrmSdk.Outlook

Assembly Namespace
Microsoft.Crm.Outlook.Sdk.dll Microsoft.Crm.Outlook.Sdk