XrmToolSuite.SolutionMergeAssistant 1.2026.7.10

dotnet add package XrmToolSuite.SolutionMergeAssistant --version 1.2026.7.10
                    
NuGet\Install-Package XrmToolSuite.SolutionMergeAssistant -Version 1.2026.7.10
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="XrmToolSuite.SolutionMergeAssistant" Version="1.2026.7.10" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="XrmToolSuite.SolutionMergeAssistant" Version="1.2026.7.10" />
                    
Directory.Packages.props
<PackageReference Include="XrmToolSuite.SolutionMergeAssistant" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add XrmToolSuite.SolutionMergeAssistant --version 1.2026.7.10
                    
#r "nuget: XrmToolSuite.SolutionMergeAssistant, 1.2026.7.10"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package XrmToolSuite.SolutionMergeAssistant@1.2026.7.10
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=XrmToolSuite.SolutionMergeAssistant&version=1.2026.7.10
                    
Install as a Cake Addin
#tool nuget:?package=XrmToolSuite.SolutionMergeAssistant&version=1.2026.7.10
                    
Install as a Cake Tool

🔀 Solution Merge Assistant

An XrmToolBox plugin that compares two or more solutions from one environment and surfaces every conflict before you merge them — duplicate/overlapping components, version and publisher mismatches, managed-vs-unmanaged clashes, and environment-variable/connection-reference conflicts — rolled up into a single merge-risk verdict with a recommended strategy and a merged-component checklist. Read-only: it recommends a merge and emits a checklist; it never imports or writes solutions.

Features

Area What it detects
Solution selection Load two or more managed/unmanaged solutions (checked list) with their ismanaged flag and version; each solution's components are enumerated once and cached for fast, cancellable pairwise comparison
Duplicate / overlapping components Components appearing in more than one selected solution, keyed by (componenttype, objectid), listing every owning solution; web resources, plugin assemblies, plugin steps, forms, views and business rules each map to their own category and severity (plugin assemblies/types/steps High; web resources/forms/views/business rules Medium; base tables/columns Low)
Version / publisher conflicts Differing publisher prefixes → Medium (with a recommended standard prefix); differing solution versions → Low, or Medium when the solutions actually overlap
Managed-state conflicts A component managed in one solution and unmanaged in another → High Managed State finding
Config conflicts The same env-var/connection-reference schema name packaged in multiple solutions with different definition/value → High; packaged identically in more than one → Medium duplicate-ownership; packaged in only one → not a conflict
Merge verdict & strategy All conflicts roll into one verdict — Safe to merge → Merge with warnings → Manual review required → High-risk merge → Do not merge (any High ⇒ at least High-risk; ≥3 High ⇒ Do not merge) — plus a recommended import order (ascending version), a publisher to standardize on, per-conflict resolution, and a merged-component checklist

Exports

The merge report exports off the UI thread to four formats for a CAB / change record or pipeline gate:

  • Excel workbook
  • PDF report
  • JSON (carries the verdict, solutions, metrics, checklist, and a machine-readable conflict list)
  • HTML (self-contained, theme-aware)

Help & Support

A Help button on the right of the toolbar opens a Help & Support dialog with Documentation, Report an issue, and a support link, each opened in your browser. The tool implements IHelpPlugin and IGitHubPlugin, so XrmToolBox's own tool-menu links resolve to the same GitHub project (kkora/XrmToolSuite).

Build & install

Fastest path — build straight into your local XrmToolBox on the same machine:

dotnet build src\Tools\XrmToolSuite.SolutionMergeAssistant\XrmToolSuite.SolutionMergeAssistant.csproj -c Release -p:DeployToXTB=true

This is not a single-DLL tool: it ships the Excel/PDF export dependency chain (ClosedXML + PdfSharp/MigraDoc-GDI). The one-step build copies the tool DLL and its dependency DLLs into the XrmToolBox Plugins root (never a subfolder, or XrmToolBox silently drops the tool). For manual distribution and troubleshooting, see ./DEPLOYMENT.md and the suite guide Deployment_Guide_XrmToolBox.md. Restart XrmToolBox and open Solution Merge Assistant.

Usage

  1. Connect to the environment holding the solutions (System Customizer or higher recommended).
  2. Load solutions and check two or more to compare.
  3. Run the comparison and review the conflict grid (grouped by category and severity).
  4. Read the merge-risk verdict and the recommended merge strategy + checklist.
  5. Export to Excel / PDF / JSON / HTML to attach to a change record or gate a pipeline.

Notes & limitations

  • Read-only default — the tool never imports or writes solutions; it only compares and recommends.
  • The comparison engine is UI-free and SDK-free; the collector degrades query failures to progress notes rather than throwing.
  • Managed state degrades to the owning solution's ismanaged when per-component layering is unavailable.
  • Missing/required-component completeness (RetrieveMissingDependencies) is out of scope here — it is tracked separately under the Dependency Validator (ALM02).
  • The SDK-free comparison is covered by testing/UnitTests/SolutionMergeAssistantTests.cs.
Product Compatible and additional computed target framework versions.
.NET Framework net48 is compatible.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.2026.7.10 96 7/11/2026
1.2026.7.9 104 7/11/2026
1.2026.7.8 103 7/11/2026
1.2026.7.7 107 7/11/2026
1.2026.7.6 103 7/10/2026
1.2026.7.5 94 7/9/2026
1.2026.7.3 101 7/7/2026

1.2026.7.10: Package health - deterministic CI builds with SourceLink and embedded symbols (PDB inside the DLL), and the package now links its GitHub source repository. No functional change to any tool.