TALXIS.DevKit.Build.Dataverse.PdPackage 0.0.0.9

Prefix Reserved
dotnet add package TALXIS.DevKit.Build.Dataverse.PdPackage --version 0.0.0.9
                    
NuGet\Install-Package TALXIS.DevKit.Build.Dataverse.PdPackage -Version 0.0.0.9
                    
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="TALXIS.DevKit.Build.Dataverse.PdPackage" Version="0.0.0.9">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TALXIS.DevKit.Build.Dataverse.PdPackage" Version="0.0.0.9" />
                    
Directory.Packages.props
<PackageReference Include="TALXIS.DevKit.Build.Dataverse.PdPackage">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
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 TALXIS.DevKit.Build.Dataverse.PdPackage --version 0.0.0.9
                    
#r "nuget: TALXIS.DevKit.Build.Dataverse.PdPackage, 0.0.0.9"
                    
#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 TALXIS.DevKit.Build.Dataverse.PdPackage@0.0.0.9
                    
#: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=TALXIS.DevKit.Build.Dataverse.PdPackage&version=0.0.0.9
                    
Install as a Cake Addin
#tool nuget:?package=TALXIS.DevKit.Build.Dataverse.PdPackage&version=0.0.0.9
                    
Install as a Cake Tool

TALXIS.DevKit.Build.Dataverse.PdPackage

MSBuild integration for Power Platform Package Deployer (PD) packages. Wraps Microsoft.PowerApps.MSBuild.PDPackage, adds ILRepack-based assembly merging for the deployment package DLL, and provides Configuration Migration Tool (CMT) package discovery, metadata merging, and zipping.

Installation

<PackageReference Include="TALXIS.DevKit.Build.Dataverse.PdPackage" Version="0.0.0.1" PrivateAssets="All" />

Or use the SDK approach:

<Project Sdk="TALXIS.DevKit.Build.Sdk/0.0.0.1">
  <PropertyGroup>
    <ProjectType>PdPackage</ProjectType>
  </PropertyGroup>
</Project>

How It Works

Microsoft PDPackage import

Props and targets from Microsoft.PowerApps.MSBuild.PDPackage are imported automatically. The version is controlled by PdPackageMsBuildVersion.

Project reference filtering

_DetectPdProjectReferenceTypes probes all ProjectReference items for GetProjectType. Solution-type references have ReferenceOutputAssembly set to false so their DLLs are not included in the package output.

ILRepack

DataverseILRepack (runs after Build) merges all non-Microsoft DLLs (excluding reference assemblies and Newtonsoft.Json) into the main output assembly using ILRepack.exe. Can be disabled with DataversePackageRunILRepack=false or SkipPackageILRepack=true.

CMT package discovery

TalxisDiscoverCmtPackages scans for folders containing [Content_Types].xml with sibling data.xml and data_schema.xml. Supports include/exclude filtering via IncludedCmtPackages/ExcludedCmtPackages.

CMT package zipping

TalxisZipCmtPackages (runs after Build) zips each discovered CMT package directory into CmtPackageOutputDir.

CMT metadata merging

TalxisPrepareCmtPackageMetadata merges data.xml and data_schema.xml from all CMT packages into a single combined package, generates [Content_Types].xml, zips it, and appends a reference to ImportConfig.xml.

Publishing and NuGet packing

dotnet publish is the primary build command. It publishes the project, generates the .pdpkg.zip via GeneratePdPackage, and then automatically runs Pack to produce a .nupkg containing the .pdpkg.zip (controlled by GeneratePackageOnPublish).

MSBuild Properties

PDPackage

Property Default Description
PdPackageMsBuildVersion 1.50.1 Version of Microsoft.PowerApps.MSBuild.PDPackage imported by the package.
GeneratePdPackageOnBuild true Runs GeneratePdPackage after publish.
GeneratePackageOnPublish true Triggers NuGet pack after dotnet publish to produce a .nupkg containing the .pdpkg.zip.

ILRepack

Property Default Description
DataversePackageRunILRepack true Runs ILRepack after build.
SkipPackageILRepack (none) Set to true to skip ILRepack.
ILRepackVersion 2.0.18 ILRepack NuGet package version.
ILRepackExe $(NuGetPackageRoot)ilrepack\$(ILRepackVersion)\tools\ILRepack.exe Path to ILRepack.exe.
ReferencedAssembliesDir $(TargetDir) Directory scanned for assemblies to merge.
DataversePackageILRepackKeyFile (none) Strong-name key file passed to ILRepack /keyfile.

CMT packages

Property Default Description
CmtPackageSearchRoot Project directory Root folder scanned for CMT packages.
CmtPackageOutputDir $(TargetDir)\CmtPackages Output folder for zipped CMT packages.
IncludedCmtPackages (none) Semicolon-separated package names to include (case-insensitive).
ExcludedCmtPackages (none) Semicolon-separated package names to exclude (case-insensitive).

CMT metadata merge

Property Default Description
CmtPackageName (none) Name injected into merged metadata.
CmtMetadataOutputDir $(IntermediateOutputPath)\CmtMetadata\$(CmtMetadataZipName) Temp folder for merged metadata.
CmtMetadataZipName $(CmtPackageName) or MainCmtPackage Name of the merged metadata zip.
CmtMetadataLcid (none) LCID used when appending metadata to ImportConfig.
CmtMetadataUserMapFileName (none) Optional user map file name used in ImportConfig.
CmtImportConfigPath (none) Path to ImportConfig.xml used for metadata injection.
AutoGeneratePdImportConfig (none) When true, uses the generated ImportConfig instead of copying a project file.
PdAssetsTargetFolder (none) Target folder under publish assets for the merged metadata zip.
  • Depends on: Microsoft.PowerApps.MSBuild.PDPackage, ilrepack
  • Typically references: TALXIS.DevKit.Build.Dataverse.Solution projects
There are no supported framework assets in this 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
0.0.0.9 2 2/12/2026
0.0.0.8 30 2/11/2026
0.0.0.7 38 2/11/2026
0.0.0.6 38 2/10/2026
0.0.0.5 30 2/10/2026
0.0.0.4 31 2/10/2026