0.3 The Power Platform Developer Toolchain

Key Takeaways

  • The Power Platform CLI (`pac`) consolidates auth, solution, PCF, plug-in, and Power Pages tooling into one cross-platform command-line tool
  • The Plug-in Registration Tool is the dedicated utility for registering plug-in steps, pre/post-images, and custom API messages against Dataverse
  • PCF component development is a Node.js/TypeScript workflow scaffolded with `pac pcf init` and packaged into a solution
  • Visual Studio suits full C# plug-in projects; VS Code with the Power Platform Tools extension suits PCF, `pac` CLI work, and lighter editing
  • The Solution Packager converts an opaque solution zip into per-component XML/JSON files, which is what makes source control and CI/CD pipelines possible
Last updated: July 2026

The Power Platform Developer Toolchain

Quick Answer: PL-400 assumes daily fluency with the Power Platform CLI (pac), the Plug-in Registration Tool, Visual Studio and VS Code (with the Power Platform Tools extension), the Power Apps component framework (PCF) tooling, and the Solution Packager workflow for putting solutions under source control. These tools aren't exam trivia - the exam's scenario and drag-and-drop items regularly assume you already know which tool does which job.

Every professional Power Platform developer builds around the same core toolchain, and PL-400 tests your working knowledge of it rather than just the underlying platform concepts. Knowing what a plug-in does conceptually is not the same as knowing which command registers it or which extension scaffolds a new PCF project - and the exam blends both kinds of questions.

Power Platform CLI (pac)

The Power Platform CLI, invoked as pac, is the command-line backbone of modern Power Platform development. It's a cross-platform .NET tool that developers install locally or run inside a CI/CD pipeline, and it consolidates functionality that used to live in several separate tools. Core command groups you should recognize:

  • pac auth - manage authentication profiles against Dataverse environments.
  • pac solution - export, pack, unpack, and version solutions for source control.
  • pac pcf init / pac pcf push - scaffold and deploy Power Apps component framework projects.
  • pac plugin init / pac plugin push - scaffold and register plug-in and custom API projects.
  • pac paportal - work with Power Pages (portal) source.
  • pac org / pac admin - environment and organization administration tasks.

Because pac is scriptable, it's the tool that makes CI/CD pipelines possible - you'll see it referenced implicitly anywhere the blueprint talks about "CI/CD automations using Power Platform Build Tools."

Plug-in Registration Tool

The Plug-in Registration Tool (PRT) is the dedicated GUI (and now pac-integrated) utility for registering compiled plug-in assemblies against Dataverse. Through it, developers:

  • Upload a signed plug-in assembly (a compiled .NET DLL).
  • Register steps that bind a plug-in's Execute method to a specific message (Create, Update, Delete, custom API, etc.), entity, and pipeline stage (PreValidation, PreOperation, PostOperation).
  • Configure pre-images and post-images so the plug-in can access entity attribute values before and after the core platform operation runs.
  • Set execution mode (synchronous vs. asynchronous) and deployment target (server, offline).
  • Register custom API message definitions, including request/response parameters, directly from the same tool.

Expect PL-400 to test whether you know that PRT (not the maker portal, not pac solution) is the tool responsible for wiring a compiled plug-in into the Dataverse event pipeline.

Power Apps Component Framework (PCF) Tooling

Building a code component (PCF) is a Node.js/TypeScript workflow layered on top of pac:

  1. pac pcf init scaffolds a new component project with a manifest, TypeScript entry point, and build configuration.
  2. npm install and the PCF build tooling (pcf-scripts, pcf-start) compile and locally preview the component in a test harness before it ever touches a real environment.
  3. The component is packaged into a solution (often via pac solution) and imported like any other solution component.

This toolchain matters because "Extend the User Experience" tests PCF lifecycle events, manifest configuration, and packaging/deployment as explicit sub-topics - all of which map directly onto this build process.

Visual Studio, VS Code & the Power Platform Tools Extension

Both major Microsoft IDEs show up in the developer toolchain, serving different roles:

ToolTypical Use
Visual StudioFull plug-in and custom API C# projects, especially when using the CDS/Dataverse project templates and NuGet packages like Microsoft.CrmSdk.CoreAssemblies
VS Code + Power Platform Tools extensionLightweight, cross-platform editing for PCF components, pac CLI integration, solution explorer views, and Power Fx/JavaScript editing
Azure Functions Core ToolsLocal development and debugging of Azure Functions referenced by custom connectors or cloud flows

Solution Packager & Source Control

Solutions exported from an environment are single compressed .zip files - not something you can meaningfully diff in git. The Solution Packager (available both as a standalone executable and through pac solution unpack / pac solution pack) converts that zip into a folder of individual XML and JSON files, one per component. This unpacked format is what actually goes into source control (Azure DevOps Repos or GitHub), enabling:

  • Meaningful pull-request diffs when a teammate changes a form, plug-in step, or environment variable.
  • Automated build pipelines that pack, validate, and import solutions across dev/test/production environments.
  • Clean merge conflict resolution at the individual-component level instead of an opaque binary blob.

Treat the pack/unpack cycle - not just the concept of "ALM" - as testable material: PL-400 expects you to know that unpacking is what makes a solution source-control-friendly in the first place.

Testing & Troubleshooting Tools

Building the component is only half the toolchain - PL-400 also expects familiarity with how developers verify and debug their work once it's deployed:

  • Monitor - a browser-based tool (accessible from Power Apps and Power Automate) that traces canvas app network calls, model-driven app client script execution, and cloud flow run history step by step, making it the go-to tool when a case study describes an app or flow "behaving unexpectedly."
  • Browser developer tools - standard F12 tooling used alongside Monitor to inspect client-side JavaScript errors, network requests to the Dataverse Web API, and PCF component rendering issues directly in the browser.
  • Power Apps Test Studio - supports recording and replaying automated test cases against canvas apps, useful for regression testing as an app evolves across ALM stages.

Knowing that Monitor, not the Plug-in Registration Tool or Solution Packager, is the primary runtime-troubleshooting surface is exactly the kind of "which tool for which job" distinction PL-400 likes to test.

Test Your Knowledge

Which tool is specifically responsible for registering a compiled plug-in assembly's steps, pre-images, and post-images against Dataverse?

A
B
C
D
Test Your Knowledge

Why do developers unpack a solution with the Solution Packager (or pac solution unpack) before putting it in source control?

A
B
C
D