DiagramStudio.Core 0.1.0

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

DiagramStudio.Core

A dependency-light, UI-free engine for building, laying out, analysing, rendering and persisting node-link and swimlane diagrams in .NET — and for reading/writing Microsoft Visio .vsdx and GraphViz DOT files. Pure net8.0: no WPF, no commercial dependencies. Runs in an ASP.NET service, a console app, or a CI job just as happily as in a desktop app.

A drop-in WPF editor control built on this lives in DiagramStudio.Controls — but you don't need it. Core is genuinely useful on its own.

Use it standalone

  • Generate Visio files from data, headless. Turn a database / JSON / domain model into a .vsdx your users open in Visio — from a web API, a CLI, or a nightly job. No Visio install, no WPF.
  • Read .vsdx — pull shapes, connectors and Shape Data out of Visio files in C#.
  • Render to PNG / SVG server-side — diagram thumbnails, report figures, embedded images.
  • Convert between Visio .vsdx and GraphViz .dot.
  • Lay out & analyse graphs programmatically — layered/tree/radial/force/circular/grid layouts; topological order, cycle detection, shortest path, connected components.

Install

dotnet add package DiagramStudio.Core

Example — data → Visio .vsdx, no UI

using DiagramStudio.Core.Model;
using DiagramStudio.Core.Layout;
using DiagramStudio.Core.Interop.Vsdx;

var doc = new DiagramDocument();
var a = doc.AddShape("Start", "startend");
var b = doc.AddShape("Review", "process");
var c = doc.AddShape("Approved?", "decision");
doc.AddLink(a.Id, b.Id);
doc.AddLink(b.Id, c.Id);
c.Data["owner"] = "Ops";                                  // travels as Visio Shape Data

LayoutCatalog.Create(LayoutCatalog.LayeredTb, new LayoutOptions()).Apply(doc);   // auto-layout

VisioBridge.Export(doc, "process.vsdx");                  // open this in Visio
var roundTrip = VisioBridge.Import("process.vsdx");        // …or read one back

What's in the box

  • Document model — shapes, links, swimlanes, groups, and auto-resizing containers (DiagramDocument), with versioned JSON persistence.
  • Rendering — a backend-neutral draw list (DiagramSceneBuilder) drawn by the shared Skia/SVG pipeline; arrowheads (both ends), dashes, bridges/line-jumps, rotation, image shapes.
  • Routing — orthogonal, straight, and Bézier connectors, plus obstacle-avoiding orthogonal routing (A* over a Hanan grid).
  • Layouts — layered (Sugiyama, via DotSharp), tree, radial-tree, force-directed, circular, grid, and lane-aware swimlane layout.
  • Graph analysis — topological order, cycle detection, shortest path, connected components.
  • Shape Data — arbitrary key→value metadata per shape, for data-aware diagrams.
  • Interop — a GraphViz DOT bridge and a clean-room Visio .vsdx bridge (read & write shapes, connectors, kinds, colours, and shape data), built on the in-box System.IO.Packaging only.

License

MIT.

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.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on DiagramStudio.Core:

Package Downloads
DiagramStudio.Controls

A drop-in WPF diagram editor control — render and edit node-link and swimlane diagrams with one element: <dg:DiagramControl/>. Pan/zoom/fit, multi-select and marquee, drag/resize/rotate, connect mode with live re-routing, undo/redo, copy/paste, alignment guides and grid snap, auto-resizing containers, image shapes, per-element styling, inline text editing, auto-layout injection, PNG/PDF export and printing. Companion controls (ShapePalette, DiagramMinimap, DiagramRuler, LayoutPanel, StylePanel) and live data-binding included. Renders on a single SkiaSharp surface; built on DiagramStudio.Core. No commercial control suites.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0 112 6/14/2026