Comparison
CPMigrate vs manual CPM migration
Manual migration works for very small solutions. It gets expensive fast when teams need dry-runs, repeatability, version conflict policy, and rollback support.
| Need | Manual migration | CPMigrate |
|---|---|---|
Generate Directory.Packages.props |
Hand-build and verify XML | Generated from real project references |
| Version conflict handling | Manual comparison across projects | Conflict strategy with optional interactive resolution |
| Preview before editing | Usually manual file diffing | First-class dry-run mode |
| Prove the migration changed nothing that ships | No practical way to ask the question | --verify diffs the resolved package graph before and after, and names what moved |
| Rollback | Team-defined backup discipline | Built-in backups and rollback workflow |