Skip to content

Requirements

pete-mc edited this page Jul 7, 2026 · 15 revisions

Getting Started

Prerequisites

Dataverse PowerTools shells out to standard, cross-platform tooling. Install:

  • .NET SDK — builds plugins (targeting .NET Framework 4.6.2 via reference assemblies, on any OS).
  • Node.js — web resource build/bundling.
  • Power Platform CLI (pac) — solution and early-bound operations.

npm global packages

Web resource projects use these globally-installed packages:

npm i -g jest webpack webpack-cli typescript

You don't have to install these by hand — the extension detects what's missing and offers to install them for you (see below).

The System Requirements panel

Open the Dataverse PowerTools activity-bar view and expand System Requirements. It scans for the .NET SDK, Node.js, pac, and the required npm globals, shows ✅/❌ for each, and offers:

  • Add Missing npm Globals — installs any missing npm packages.
  • Recheck Requirements — re-runs the scan.

Recommended VS Code extensions

Initialise a project

  1. Open an empty folder in VS Code.
  2. Run Dataverse PowerTools: Initialise Project from the Command Palette, or click Initialise Project in the activity-bar view.
  3. Choose a project type — Solution, Web Resource, or Plugin.
  4. Provide your connection details (below).

Initialisation scaffolds the chosen template, restores dependencies, and writes a dataverse-powertools.json settings file to the workspace root.

Connecting to Dataverse

The extension authenticates with a service principal (app registration) using the client-credentials flow:

  • Application (client) ID
  • Client secret
  • Tenant (directory) ID
  • Your environment URL (e.g. https://yourorg.crm.dynamics.com)

Run Update Connection String (Local Settings) to set or change these. The client id and secret are stored in VS Code secret storage — only the non-secret connection base is written to dataverse-powertools.json, so it's safe to commit.

Tip: the service principal must be added as an Application User in your environment with an appropriate security role. You can create one with pac admin create-service-principal --environment <env-url>.

Clone this wiki locally