Developer tools and resources


Unsure about entity vs. table? See Developers: Understand terminology in Microsoft Dataverse.

Developers will use the following tools and resources when working with solutions using Microsoft Dataverse.

Integrated Development Environment (IDE) extensions

Power Platform Tools for Visual Studio - supports the rapid creation, debugging, and deployment of plug-ins. Other capabilities currently in preview include development of custom workflow activities, web resources, integration technologies like Azure Service endpoints and webhooks, and more. To learn more about the tool, install the extension and try the available quickstart topics.

Microsoft Power Platform CLI - a simple, one-stop developer CLI that empowers developers and ISVs to perform various operations in Microsoft Power Platform related to environment lifecycle features, and to authenticate and work with Microsoft Dataverse environments, solution packages, portals, code components, and so on. To learn more about the tool, install the extension or try the available standalone version.

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 table 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 tables. This tool is not designed to move business data.
More information: Dataverse Administrator Guide: Move configuration data across instances and organizations with the Configuration Migration tool
Package Deployer PackageDeployer.exe Used to deploy packages on Dataverse environments. A package is an installable unit that includes solutions.
More information:
Deploy packages
Create packages for the Package Deployer
Plug-in Registration tool PluginRegistration.exe A tool used to subscribe .NET assembly plug-in classes to data transaction events.
More information:
Create a plug-in
Register a plug-in
SolutionPackager tool SolutionPackager.exe A tool that can reversibly decompose a Dataverse 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
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 Dataverse Organization service

NuGet Package: Microsoft.CrmSdk.CoreAssemblies

Assembly Namespaces
Microsoft.Crm.Sdk.Proxy.dll Microsoft.Crm.Sdk
Microsoft.Xrm.Sdk.dll Microsoft.Xrm.Sdk

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

Build windows client applications

Use these assemblies to facilitate connecting to the Organization service and to build Microsoft 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.CrmConnectControl.dll Microsoft.Xrm.Tooling.CrmConnectControl
Microsoft.Xrm.Tooling.WebResourceUtility.dll Microsoft.Xrm.Tooling.WebResourceUtility

Create packages

Use these assemblies to create packages for the Package Deployer tool.

More information: Create packages for the Package Deployer

NuGet Package: Microsoft.CrmSdk.XrmTooling.PackageDeployment

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

Create Custom virtual table data providers

Use this assembly to create custom virtual table data providers.

More information: Get started with virtual tables

NuGet Package: Microsoft.CrmSdk.Data

Assembly Namespaces
Microsoft.Xrm.Sdk.Data.dll Microsoft.Xrm.Sdk.Data

Extend Outlook Client

Use this assembly to interact with Microsoft Dynamics 365 for Outlook and Microsoft Dataverse 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