Dataverse.ConfigurationMigrationTool.Console
1.4.3
dotnet tool install --global Dataverse.ConfigurationMigrationTool.Console --version 1.4.3
dotnet new tool-manifest
dotnet tool install --local Dataverse.ConfigurationMigrationTool.Console --version 1.4.3
#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-datadcm import
Authentication and configuration
The tool loads configuration from:
- Environment variables
appsettings.jsonappsettings.{Environment}.json- User secrets when running outside Production
- Command-line arguments
Dataverse settings
You can provide Dataverse connection settings with environment variables:
Dataverse__UrlDataverse__ClientIdDataverse__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 | Versions 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. |
This package has no dependencies.