Dataverse.ConfigurationMigrationTool.Console 1.4.3

dotnet tool install --global Dataverse.ConfigurationMigrationTool.Console --version 1.4.3
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Dataverse.ConfigurationMigrationTool.Console --version 1.4.3
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Dataverse.ConfigurationMigrationTool.Console&version=1.4.3
                    
nuke :add-package Dataverse.ConfigurationMigrationTool.Console --version 1.4.3
                    

Dataverse Configuration Migration Tool CLI

This package is distributed as a .NET tool and exposes the command name dcm.

Install

Install from NuGet:

dotnet tool install --global Dataverse.ConfigurationMigrationTool.Console

Install from a local package:

dotnet tool install --global Dataverse.ConfigurationMigrationTool.Console --add-source .\\nupkg

Update an existing installation:

dotnet tool update --global Dataverse.ConfigurationMigrationTool.Console

Commands

The CLI supports these verbs:

  • dcm export-data
  • dcm import

Authentication and configuration

The tool loads configuration from:

  1. Environment variables
  2. appsettings.json
  3. appsettings.{Environment}.json
  4. User secrets when running outside Production
  5. Command-line arguments

Dataverse settings

You can provide Dataverse connection settings with environment variables:

  • Dataverse__Url
  • Dataverse__ClientId
  • Dataverse__ClientSecret

Example in PowerShell:

$env:Dataverse__Url = "https://yourorg.crm.dynamics.com"
$env:Dataverse__ClientId = "00000000-0000-0000-0000-000000000000"
$env:Dataverse__ClientSecret = "your-client-secret"

You can also pass the same values on the command line:

dcm export-data --schema .\\schema.xml --output .\\data.xml --Dataverse:Url https://yourorg.crm.dynamics.com --Dataverse:ClientId 00000000-0000-0000-0000-000000000000 --Dataverse:ClientSecret your-client-secret

Interactive login

For interactive authentication, use either of these switches:

  • -il
  • --il

Example:

dcm export-data --schema .\\schema.xml --output .\\data.xml --Dataverse:Url https://yourorg.crm.dynamics.com --il

When interactive login is enabled, the import command may prompt more than once because the tool creates multiple Dataverse connections.

Export data

Exports Dataverse data using a schema file and writes the result to an output file.

Required options

  • --schema - Path to the schema XML file
  • --output - Path to the exported output file

Example

dcm export-data --schema .\\schema.xml --output .\\exporteddata.xml

Example with interactive login

dcm export-data --schema .\\schema.xml --output .\\exporteddata.xml --Dataverse:Url https://yourorg.crm.dynamics.com --il

Import data

Imports Dataverse data from a data file using the provided schema.

Required options

  • --schema - Path to the schema XML file
  • --data - Path to the data file to import

Example

dcm import --schema .\\schema.xml --data .\\data.zip

Example with interactive login

dcm import --schema .\\schema.xml --data .\\data.zip --Dataverse:Url https://yourorg.crm.dynamics.com --il

Optional flags

  • --enable-empty-fields - Enables empty field handling during execution

Example:

dcm import --schema .\\schema.xml --data .\\data.zip --enable-empty-fields

Environment selection

The active settings file depends on the .NET environment. For example:

$env:DOTNET_ENVIRONMENT = "Development"

With this value, the tool loads appsettings.Development.json in addition to appsettings.json.

Exit behavior

If a command fails, the process exits with code -100.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
1.4.3 218 7/8/2026
1.4.2 127 6/29/2026
1.4.1 112 6/29/2026