TALXIS.DevKit.Build.Dataverse.WorkflowActivity
1.6.1
Prefix Reserved
dotnet add package TALXIS.DevKit.Build.Dataverse.WorkflowActivity --version 1.6.1
NuGet\Install-Package TALXIS.DevKit.Build.Dataverse.WorkflowActivity -Version 1.6.1
<PackageReference Include="TALXIS.DevKit.Build.Dataverse.WorkflowActivity" Version="1.6.1"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="TALXIS.DevKit.Build.Dataverse.WorkflowActivity" Version="1.6.1" />
<PackageReference Include="TALXIS.DevKit.Build.Dataverse.WorkflowActivity"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add TALXIS.DevKit.Build.Dataverse.WorkflowActivity --version 1.6.1
#r "nuget: TALXIS.DevKit.Build.Dataverse.WorkflowActivity, 1.6.1"
#:package TALXIS.DevKit.Build.Dataverse.WorkflowActivity@1.6.1
#addin nuget:?package=TALXIS.DevKit.Build.Dataverse.WorkflowActivity&version=1.6.1
#tool nuget:?package=TALXIS.DevKit.Build.Dataverse.WorkflowActivity&version=1.6.1
TALXIS.DevKit.Build.Dataverse.WorkflowActivity
MSBuild integration for Dynamics 365 custom workflow activity assembly projects. Mirrors the Plugin package pattern: configures Visual Studio project type GUIDs, applies automatic Git-based versioning, merges referenced managed dependencies into the output DLL via ILRepack so the Dataverse sandbox can load all required types from a single assembly, and exposes metadata targets that allow Solution projects to discover and integrate workflow activity assemblies during build.
Installation
<PackageReference Include="TALXIS.DevKit.Build.Dataverse.WorkflowActivity" Version="0.0.0.1" PrivateAssets="All" />
Or use the SDK approach:
<Project Sdk="TALXIS.DevKit.Build.Sdk/0.0.0.1">
<PropertyGroup>
<ProjectType>WorkflowActivity</ProjectType>
</PropertyGroup>
</Project>
How It Works
The package sets ProjectType to WorkflowActivity and configures ProjectTypeGuids for workflow activity recognition in Visual Studio.
Build-time targets
- _ApplyWorkflowActivityVersionBeforeBuild (runs before
BeforeBuild) -- executesGenerateVersionNumberfollowed byApplyPluginVersionNumberto setAssemblyVersion,FileVersion,Version, andPackageVersionfrom Git. - AssemblyMergeDependencies (runs after
Build) -- uses ILRepack to merge every managed DLL that landed in$(OutDir)into the main workflow activity assembly, so the Dataverse sandbox (which loads a single assembly) can resolve all referenced types without sibling DLLs. By default, sandbox-provided assemblies are skipped:Microsoft.Xrm.Sdk*,Microsoft.Crm.Sdk.Proxy,Newtonsoft.Json,System.*,mscorlib,netstandard(configurable via$(AssemblyMergeExcludes)). Idempotent — always reads the raw compiler output from$(IntermediateOutputPath)so the target can safely re-run within the same Solution build. Merged types keep their original public names (Internalize=false) to preserve Dataverse's reflection-based detection ofCodeActivitysubclasses. Disable per-project with<AssemblyMergeSkip>true</AssemblyMergeSkip>.
Integration targets
These targets are called by TALXIS.DevKit.Build.Dataverse.Solution when it discovers this project via ProjectReference:
- GetProjectType -- returns
WorkflowActivityso the Solution build knows how to handle this reference. - GetWorkflowActivityAssemblyInfo -- returns
WorkflowActivityRootPath,WorkflowActivityAssemblyId,TargetFramework,PublishFolderName, andAssemblyNamefor automatic workflow activity assembly metadata generation in the solution.
MSBuild Properties
| Property | Default | Description |
|---|---|---|
ProjectType |
WorkflowActivity |
Marks the project as a workflow activity for reference discovery. |
Version |
(required) | Base version; major/minor are used for Git versioning. |
GitVersionNumberBranches |
(none) | Semicolon-separated branch rules (e.g. master;hotfix;develop:1;pr:3;feature/*:2). |
GitVersionNumberFallback |
0.0.20000.0 |
Fallback version when Git versioning is not applied. |
WorkflowActivityTargetFramework |
$(TargetFramework) or net462 |
Target framework used to locate the compiled workflow activity DLL. |
WorkflowActivityPublishFolderName |
publish |
Publish folder name under bin\<Configuration>\<TFM>\. |
WorkflowActivityAssemblyId |
(auto-generated) | Explicit GUID for the workflow activity assembly metadata; a new GUID is generated if empty. |
AssemblyMergeSkip |
(unset) | When true, skips the post-build AssemblyMergeDependencies ILRepack step. |
AssemblyMergeExcludes |
mscorlib;netstandard;Newtonsoft.Json;Microsoft.Xrm.Sdk;Microsoft.Crm.Sdk.Proxy |
Semicolon-separated assembly filenames (without .dll) to exclude from merging. Prefix patterns Microsoft.Xrm.Sdk.* and System.* are always excluded. |
Related Packages
- Depends on:
TALXIS.DevKit.Build.Dataverse.Tasks,Microsoft.PowerApps.MSBuild.Plugin,Microsoft.CrmSdk.CoreAssemblies,ILRepack.Lib.MSBuild.Task - Consumed by:
TALXIS.DevKit.Build.Dataverse.Solutionprojects viaProjectReference
Learn more about Target Frameworks and .NET Standard.
-
- ILRepack.Lib.MSBuild.Task (= 2.0.44.2)
- Microsoft.CrmSdk.CoreAssemblies (= 9.0.2.60)
- Microsoft.NETFramework.ReferenceAssemblies (= 1.0.3)
- Microsoft.PowerApps.MSBuild.Plugin (>= 1.48.2)
- TALXIS.DevKit.Build.Dataverse.Tasks (>= 1.6.1)
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.6.1 | 99 | 6/29/2026 |
| 1.6.0 | 94 | 6/27/2026 |
| 1.5.1 | 156 | 5/26/2026 |
| 1.5.0 | 424 | 5/26/2026 |
| 1.4.0 | 250 | 5/14/2026 |
| 1.3.0 | 151 | 5/14/2026 |
| 1.2.2 | 270 | 5/4/2026 |
| 1.2.1 | 164 | 5/4/2026 |
| 1.2.0 | 167 | 5/4/2026 |
| 1.1.0 | 170 | 5/1/2026 |
| 1.0.0 | 160 | 4/29/2026 |
| 0.0.0.16 | 189 | 4/28/2026 |
| 0.0.0.15 | 189 | 4/26/2026 |
| 0.0.0.14 | 179 | 4/25/2026 |
| 0.0.0.13 | 245 | 3/13/2026 |
| 0.0.0.12 | 220 | 3/11/2026 |
| 0.0.0.11 | 244 | 3/6/2026 |
| 0.0.0.10 | 238 | 2/24/2026 |
| 0.0.0.9 | 285 | 2/12/2026 |