TALXIS.DevKit.Build.Dataverse.Solution
0.0.0.5
Prefix Reserved
See the version list below for details.
dotnet add package TALXIS.DevKit.Build.Dataverse.Solution --version 0.0.0.5
NuGet\Install-Package TALXIS.DevKit.Build.Dataverse.Solution -Version 0.0.0.5
<PackageReference Include="TALXIS.DevKit.Build.Dataverse.Solution" Version="0.0.0.5"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="TALXIS.DevKit.Build.Dataverse.Solution" Version="0.0.0.5" />
<PackageReference Include="TALXIS.DevKit.Build.Dataverse.Solution"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add TALXIS.DevKit.Build.Dataverse.Solution --version 0.0.0.5
#r "nuget: TALXIS.DevKit.Build.Dataverse.Solution, 0.0.0.5"
#:package TALXIS.DevKit.Build.Dataverse.Solution@0.0.0.5
#addin nuget:?package=TALXIS.DevKit.Build.Dataverse.Solution&version=0.0.0.5
#tool nuget:?package=TALXIS.DevKit.Build.Dataverse.Solution&version=0.0.0.5
TALXIS.DevKit.Build.Dataverse.Solution
MSBuild integration for building complete Dataverse solutions. Orchestrates the entire solution build pipeline: discovers and builds referenced Plugin, WorkflowActivity, ScriptLibrary, and PCF projects; patches solution XML with version, publisher, and managed state; runs the PAC solution packager to produce a .zip file; and supports dotnet pack to generate a NuGet package containing the solution zip.
Installation
<PackageReference Include="TALXIS.DevKit.Build.Dataverse.Solution" Version="0.0.0.1" PrivateAssets="All" />
Or use the SDK approach:
<Project Sdk="TALXIS.DevKit.Build.Sdk/0.0.0.1">
<PropertyGroup>
<ProjectType>Solution</ProjectType>
</PropertyGroup>
</Project>
How It Works
The package sets ProjectType to Solution and imports Microsoft.PowerApps.MSBuild.Solution targets. The build pipeline executes in the following order:
1. Component discovery
ProbePluginLibraries, ProbeScriptLibraries, and ProbeWorkflowActivityLibraries call GetProjectType on all ProjectReference items to classify them by component type.
2. Component builds
BuildPluginLibraries, BuildScriptLibraries, and BuildWorkflowActivityLibraries compile each referenced component project before CopyCdsSolutionContent.
3. Component metadata generation
- Plugin assemblies --
EnsurePluginAssemblyDataXmlgenerates.data.xmlfiles underPluginAssemblies/. - Workflow activities --
EnsureWorkflowActivityAssemblyDataXmlgenerates.data.xmlfor workflow activity assemblies. - Script libraries --
CopyScriptLibrariesToWebResourcesresolves web resource names with the publisher prefix, generates.data.xml, and registers root components inSolution.xml.
4. Solution XML patching
PatchSolutionXml writes Version, Managed, PublisherName, and PublisherPrefix into Solution.xml.
5. PAC override and versioning
ProcessCdsProjectReferencesOutputs replaces the Microsoft default to filter ScriptLibrary and WorkflowActivity references from PAC processing. Then GenerateVersionNumber and ApplyVersionNumber patch the version across all solution metadata.
6. Solution packaging
PackDataverseSolution invokes the PAC solution packager to produce the output .zip.
7. NuGet packing
dotnet pack produces a .nupkg with the solution .zip under content/solution/.
MSBuild Properties
General
| Property | Default | Description |
|---|---|---|
ProjectType |
Solution |
Marks the project as a solution for reference discovery. |
Version |
(required) | Base version; used for Git versioning and applied to solution.xml and related metadata. |
ApplyToBranches |
(none) | Semicolon-separated branch rules (e.g. master;hotfix;develop:1;pr:3;feature/*:2). |
LocalBranchBuildVersionNumber |
0.0.0.1 |
Fallback version when Git versioning is not applied. |
Solution metadata
| Property | Default | Description |
|---|---|---|
Managed |
(none) | Value written to the <Managed> element in solution.xml. |
PublisherName |
(none) | Value written to the publisher name fields in solution.xml. |
PublisherPrefix |
(none) | Value written to solution.xml and used as the web resource name prefix. |
Paths
| Property | Default | Description |
|---|---|---|
SolutionRootPath |
. |
Relative path to the solution source root. |
SolutionPackagerWorkingDirectory |
$(IntermediateOutputPath) |
Working folder for solution packager operations. |
SolutionPackagerMetadataWorkingDirectory |
$(SolutionPackagerWorkingDirectory)Metadata |
Metadata folder used for version updates. |
SolutionPackagerLocalizationWorkingDirectory |
(none) | Optional localization working folder (cleaned by CleanupWorkingDirectory). |
SolutionPackageLogFilePath |
$(IntermediateOutputPath)SolutionPackager.log |
SolutionPackager log path. |
SolutionPackageZipFilePath |
$(OutputPath)$(MSBuildProjectName).zip |
Output zip path for pack tasks. |
Web resources and PCF
| Property | Default | Description |
|---|---|---|
WebResourcesDir |
$(MSBuildProjectDirectory)\$(SolutionRootPath)\WebResources\ |
Destination folder for script library web resources. |
PcfForceUpdate |
(none) | Forwarded to PAC ProcessCdsProjectReferencesOutputs to force PCF updates. |
Related Packages
- Depends on:
TALXIS.DevKit.Build.Dataverse.Tasks,Microsoft.PowerApps.MSBuild.Solution - Discovers and builds:
Plugin,WorkflowActivity,ScriptLibrary, andPcfprojects viaProjectReference
Learn more about Target Frameworks and .NET Standard.
-
- Microsoft.PowerApps.MSBuild.Solution (>= 1.48.2)
- TALXIS.DevKit.Build.Dataverse.Tasks (>= 0.0.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.