XrmToolSuite.ArchitectureDiagramGenerator 1.2026.7.11

dotnet add package XrmToolSuite.ArchitectureDiagramGenerator --version 1.2026.7.11
                    
NuGet\Install-Package XrmToolSuite.ArchitectureDiagramGenerator -Version 1.2026.7.11
                    
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.ArchitectureDiagramGenerator" Version="1.2026.7.11" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="XrmToolSuite.ArchitectureDiagramGenerator" Version="1.2026.7.11" />
                    
Directory.Packages.props
<PackageReference Include="XrmToolSuite.ArchitectureDiagramGenerator" />
                    
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.ArchitectureDiagramGenerator --version 1.2026.7.11
                    
#r "nuget: XrmToolSuite.ArchitectureDiagramGenerator, 1.2026.7.11"
                    
#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.ArchitectureDiagramGenerator@1.2026.7.11
                    
#: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.ArchitectureDiagramGenerator&version=1.2026.7.11
                    
Install as a Cake Addin
#tool nuget:?package=XrmToolSuite.ArchitectureDiagramGenerator&version=1.2026.7.11
                    
Install as a Cake Tool

πŸ› Architecture Diagram Generator

A read-only XrmToolBox plugin that turns a Dataverse solution's components and platform dependencies into an architecture diagram. Components are classified into architectural layers (Apps, UI, Automation, Code, Data, Security, Configuration, Other) and connected by edges read from the platform dependency table, so the diagram reflects the live environment instead of a hand-drawn Visio/Lucidchart that has drifted. It reuses the Solution Knowledge Graph's extraction approach and keeps its model + emitters UI-free and SDK-free so they stay unit-tested and portable.

Features

Area What it does
Scope selection Load and select a solution as the diagram scope; system solutions are excluded and the picker shows friendly name / unique name / version / managed flag. Layout, direction, and hide-orphans preferences round-trip via Load/SaveSettings.
Layer classification ComponentCatalog maps each solutioncomponent.componenttype to a friendly label and an architectural layer; unknown types degrade to a generic label in the Other layer.
Dependency edges ArchCollector reads solutioncomponent + the platform dependency table fail-soft β€” a query gap degrades to a documented note rather than crashing; self-loops and duplicate edges are removed.
Layout styles Choose Layered (grouped by layer) or flat Dependency graph layout and LR/TD flow direction; re-layout happens from the in-memory model without re-querying Dataverse. Layers return in canonical Apps→…→Other order.
Orphan filtering Optionally hide unconnected (orphan) nodes to declutter large diagrams down to just the dependency structure; emitters and JSON honour the filter and all node text is escaped.
Preview A preview combo re-renders the current model/layout in the chosen format (Mermaid / PlantUML / DOT / HTML) before export; the HTML source preview is pretty-printed for readability (exported files are unchanged), and an Open in browser button renders the actual HTML diagram (SVG) in your default browser; generation reports progress and node/edge counts.

Exports

BCL-only β€” this tool has no export dependency chain (no ClosedXML/PdfSharp/MigraDoc). All formats are produced as plain strings using the base class library, so the tool ships as a single DLL.

Format What you get
Mermaid Layered subgraphs plus edges, ready to drop into wikis and Markdown that render Mermaid.
PlantUML A well-formed @startuml/@enduml document with packages per layer.
DOT / Graphviz A clustered digraph for Graphviz and diagram tooling.
Markdown A fenced Mermaid block plus a per-layer legend, for formatted docs.
HTML A self-contained, theme-aware (light/dark) page that renders a hand-laid-out inline SVG offline β€” no external engine or CDN β€” with the Mermaid source embedded for re-rendering.
JSON Nodes + edges honouring the orphan filter, for programmatic use; written indented (pretty-printed).

Help & Support

A right-aligned Help button on the toolbar opens the shared suite Help & Support dialog (Documentation, Report an issue, and a support link, each opened via Process.Start). The control implements IHelpPlugin and IGitHubPlugin, so XrmToolBox's own tool-menu links resolve to the same GitHub project (kkora/XrmToolSuite).

Build & install

This tool is a single DLL β€” the shared core is compiled in, so there is no ClosedXML/PdfSharp chain to ship alongside it.

Build and deploy straight into your local XrmToolBox in one step:

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

Then restart XrmToolBox and open Architecture Diagram Generator. For manual/other-machine installs copy only XrmToolSuite.ArchitectureDiagramGenerator.dll into %AppData%\MscrmTools\XrmToolBox\Plugins (flat in the Plugins root, not a subfolder), Unblock-File it, and restart. Do not copy Newtonsoft.Json.dll or any Microsoft.Xrm.* / Microsoft.Crm.* DLLs β€” XrmToolBox already ships them.

Full steps and troubleshooting: ./DEPLOYMENT.md and the suite-wide Deployment_Guide_XrmToolBox.md.

Usage

  1. Connect to your environment as usual.
  2. Click Load solutions and pick the solution to diagram.
  3. Choose a layout (Layered or Dependency graph) and direction (LR/TD); optionally tick Hide orphans.
  4. Generate β€” components are classified into layers and dependency edges are drawn; progress and node/edge counts are reported.
  5. Use the preview combo to check the source, then Export to any of the six formats.

Because re-layout runs from the in-memory model, changing layout/direction/orphan settings re-renders instantly without re-querying Dataverse.

Notes & limitations

  • Read-only β€” the tool only reads solution and dependency metadata; it never writes to the org.
  • BCL-only β€” no third-party export dependencies; the tool ships as one DLL.
  • Edges come from the platform dependency table, which records the dependencies Dataverse itself tracks; components with no recorded dependency appear as orphans unless hidden.
  • The SDK-free model (Diagram/ArchModel.cs) and emitters (Diagram/DiagramEmitters.cs) are unit-tested (testing/UnitTests/ArchitectureDiagramGeneratorTests.cs); the SDK collector (Diagram/ArchCollector.cs) and the WinForms host are manual-tested against a live connection.
  • Unavailable data degrades to a documented note rather than a crash; System Customizer or higher is recommended for complete results.
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.11 134 7/11/2026
1.2026.7.10 121 7/11/2026
1.2026.7.9 113 7/11/2026
1.2026.7.8 121 7/11/2026
1.2026.7.7 119 7/11/2026
1.2026.7.6 119 7/10/2026
1.2026.7.5 110 7/9/2026
1.2026.7.3 130 7/7/2026

1.2026.7.11: Open in browser renders the HTML diagram; HTML preview and JSON export pretty-printed; Export moved to the end.