TemporalDashboard.WorkflowDiagramming.Roslyn.Build
1.0.0.10
dotnet add package TemporalDashboard.WorkflowDiagramming.Roslyn.Build --version 1.0.0.10
NuGet\Install-Package TemporalDashboard.WorkflowDiagramming.Roslyn.Build -Version 1.0.0.10
<PackageReference Include="TemporalDashboard.WorkflowDiagramming.Roslyn.Build" Version="1.0.0.10"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="TemporalDashboard.WorkflowDiagramming.Roslyn.Build" Version="1.0.0.10" />
<PackageReference Include="TemporalDashboard.WorkflowDiagramming.Roslyn.Build"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add TemporalDashboard.WorkflowDiagramming.Roslyn.Build --version 1.0.0.10
#r "nuget: TemporalDashboard.WorkflowDiagramming.Roslyn.Build, 1.0.0.10"
#:package TemporalDashboard.WorkflowDiagramming.Roslyn.Build@1.0.0.10
#addin nuget:?package=TemporalDashboard.WorkflowDiagramming.Roslyn.Build&version=1.0.0.10
#tool nuget:?package=TemporalDashboard.WorkflowDiagramming.Roslyn.Build&version=1.0.0.10
TemporalDashboard.WorkflowDiagramming.Roslyn.Build
MSBuild task that generates Mermaid workflow diagrams at build time from your Temporal workflow C# source using Roslyn. No diagramming attributes and no application code required — add the package and build.
Overview
- Task:
GenerateRoslynWorkflowDiagramsTaskreads@(Compile)sources, finds[Workflow]/[WorkflowRun]types, and writes:- One Mermaid file per workflow (e.g.
OrderWorkflow.mermaid) - JSON metadata (
workflow-diagrams-metadata.json) - ZIP (
workflow-diagrams.zip) for easy sharing
- One Mermaid file per workflow (e.g.
- Target: Runs automatically after
Buildwhen this package is referenced.
This is the build-time counterpart to TemporalDashboard.WorkflowDiagramming.Roslyn. For attribute-based build-time generation, see TemporalDashboard.WorkflowDiagramming.Build instead (typically use one or the other).
Usage
Option A: NuGet package (recommended)
dotnet add package TemporalDashboard.WorkflowDiagramming.Roslyn.Build
Or use the install script from this repo:
./scripts/install-workflow-diagramming-roslyn-build.sh
./scripts/install-workflow-diagramming-roslyn-build.sh path/to/YourWorkflows.csproj 1.0.0
.\scripts\install-workflow-diagramming-roslyn-build.ps1
.\scripts\install-workflow-diagramming-roslyn-build.ps1 -Project .\src\MyWorkflows\MyWorkflows.csproj -Version 1.0.0
Then dotnet build. Output lands in bin/<Configuration>/net10.0/diagrams/.
Option B: Project reference (same repo)
<ItemGroup>
<ProjectReference Include="path\to\TemporalDashboard.WorkflowDiagramming.Roslyn.Build\TemporalDashboard.WorkflowDiagramming.Roslyn.Build.csproj"
ReferenceOutputAssembly="false" />
</ItemGroup>
<Import Project="path\to\TemporalDashboard.WorkflowDiagramming.Roslyn.Build\TemporalDashboard.WorkflowDiagramming.Roslyn.Build.targets" />
MSBuild properties
| Property | Description |
|---|---|
GenerateRoslynWorkflowDiagramsOutputPath |
Override output directory. Default: $(OutputPath)diagrams. |
Task parameters
| Parameter | Description |
|---|---|
SourceFiles |
C# sources to analyze (required). Default target passes @(Compile). |
ProjectDirectory |
Base path for relative Compile items. |
OutputPath |
Directory for generated files (required). |
FileExtension |
Diagram extension (default .mermaid). |
TargetFramework / Language / AssemblyName / AssemblyVersion |
Metadata fields. |
CreateZip |
When true (default), create workflow-diagrams.zip. |
Requirements
- Workflow types marked with Temporal
[Workflow]and a[WorkflowRun]method body. - Normal Temporal SDK usage (
ExecuteActivityAsync,if,Task.WhenAll, etc.) — see the Roslyn README for V1 patterns. - No
TemporalDashboard.WorkflowDiagrammingattributes required.
Troubleshooting
- Add this package to the project that contains the workflow source files (not only a host/API project that references them).
- Build with
-v nto see “Generated Roslyn diagram” / “No workflow types found” messages. - If you also use
TemporalDashboard.WorkflowDiagramming.Build, both write todiagrams/by default — setGenerateRoslynWorkflowDiagramsOutputPath(or the attribute package’s assembly path) to avoid overwriting.
Dependencies (task runtime)
Shipped inside the package lib/ folder (development dependency — not added as compile refs to your app):
TemporalDashboard.WorkflowDiagramming.RoslynTemporalDashboard.WorkflowDiagrammingMicrosoft.CodeAnalysis.CSharp(and related)Microsoft.Build.Framework/Microsoft.Build.Utilities.Core
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.