PPCT 1.0.0

dotnet tool install --global PPCT --version 1.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local PPCT --version 1.0.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=PPCT&version=1.0.0
                    
nuke :add-package PPCT --version 1.0.0
                    

PPCT

Power Platform Coding Tool - An open-source tool to deploy Power Platform dependent assemblies with configuration in code.

Heavily inspired by spkl (https://github.com/scottdurow/SparkleXrm)

Features

  • Deployment of dependent assemblies to Power Platform based on configuration in code
  • Generating configuration in code based on existing Power Platform environment
  • Available as a .NET tool
  • PPCT.Components - A small library to be added to your project to support PPCT (Attribute for plugin classes, no externl dependencies)
  • Stores recently used connections in token cache, authorization via browser (no need to store credentials in configuration)

Installation

dotnet tool install --global ppct

Usage

Initialize PPCT configuration in current directory

ppct -t init
  • Update ppct.json with your Power Platform environment details, e.g.:
{
  "SolutionPath": "YourSolution.sln",
  "NugetPackage": {
    "DataverseSolutionName": "YourPowerPlatformSolutionName",
    "NugetPackagePath": "yourproject\\bin\\outputPackages"
  }
}
  • Run decorate.bat to update your code with existing configuration
  • Run deploy.bat to deploy your assemblies to Power Platform based on configuration in code (similar approach as in spkl)

Disclaimer

This is a work in progress and serves mainly as a tool me & my team are leveraging. Use at your own risk.

PPCT can currently handle only dependent assemblies, as it is not covered by spkl.

More features might be coming in the future.

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.

This package has no dependencies.

Version Downloads Last Updated
1.0.0 251 2/14/2025