-
Notifications
You must be signed in to change notification settings - Fork 2
Solutions
A Solution project lets you export a Dataverse solution to source control,
unpack it into individual components, and pack/import it again. Under the hood it
uses the cross-platform Power Platform CLI (pac)
(pac solution export/unpack/pack/import) — so it runs on Windows, macOS, and Linux.

Solution settings live in spkl.json in the project root (this is now just a config
file — no external tool is involved):
{
"solutions": [
{
"solution_uniquename": "MySolution",
"packagepath": "MySolution",
"packagetype": "both_unmanaged_import"
}
]
}-
solution_uniquename— the unique name of the solution in Dataverse. -
packagepath— the folder the solution is unpacked into / packed from. -
packagetype—Unmanaged,Managed, orBoth(mapped from the spkl value).
Your Dataverse connection is set up during project initialisation;
the extension creates a pac auth profile from it automatically for each operation.
Exports the solution from your environment and unpacks it into packagepath.
Unpacking splits the solution into per-component files, which is ideal for source
control and diffing. For a Both package type, both the unmanaged and managed
solutions are exported and unpacked together.
Packs the local unpacked folder back into a solution .zip (under bin/) — a local
operation that needs no connection. Use it to produce an artifact for a release
pipeline, or before importing.
Packs the folder and imports the solution into your Dataverse environment, publishing customizations. Use this to push local changes to a development environment.
Because packing is a plain pac command with no editor dependency, you can reuse the
same folder in any pipeline (GitHub Actions, Azure DevOps, etc.) with the
Power Platform CLI
or the Power Platform Build Tools,
running pac solution pack / pac solution import against your target environments.