Sidebar agent that authenticates to Dynamics 365 / Dataverse, exports (downloads) a solution via the Web API and unpacks it with a self-managed SolutionPackager.exe without deleting any files.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Version: 1.0.0 | Author: Jadhav Shubhamm | License: MIT VS Code Compatibility: ^1.95.0 | Publisher: Shubhamm-Jadhav
A VS Code extension whose entire UI lives in a sidebar. It authenticates to a
Dynamics 365 / Dataverse environment, exports (downloads) a solution through
the Dataverse Web API, and unpacks it into source files with a
self-managed SolutionPackager.exe — without ever deleting existing files.
Features
Sidebar-first experience — the entire workflow lives in a dedicated
Activity Bar view; no extra windows or panels to manage.
Secure interactive sign-in — MSAL browser sign-in (authorization code +
PKCE over a loopback redirect) with a session cached for up to 24 hours and
reused across all API calls.
One-click solution export — list your environment's solutions and export
any of them as Managed or Unmanaged via the Dataverse Web API.
Choose your download location — the exported .zip is written to the
folder you select.
Non-destructive unpacking — extraction runs with /allowDelete:No, so
existing files on disk that aren't in the zip are always preserved.
Self-managed tooling — automatically downloads and caches
SolutionPackager.exe from the Microsoft.CrmSdk.CoreTools NuGet package,
with in-sidebar version display, update checks, and one-click updates.
Bring your own packager — point the extension at an existing
SolutionPackager.exe with a single setting override.
Native VS Code theming & security — the webview follows your VS Code
theme and is locked down with a strict CSP + nonce, with no direct network or
filesystem access of its own.
What it does & how
Authenticate — interactive browser sign-in (MSAL, authorization code +
PKCE over a loopback redirect). The session is cached for up to 24 hours
and reused for all API calls. It ends on manual sign-out, when the 24h limit
is reached, or when Azure AD expires the refresh token (environment timeout).
Export — calls the Dataverse ExportSolution action for the selected
solution as managed or unmanaged.
Download — writes the returned .zip to the folder you choose.
/allowDelete:No guarantees that files already on disk but not present in the
zip are preserved.
Self-managed SolutionPackager
The agent downloads the latest Microsoft.CrmSdk.CoreTools NuGet package
from nuget.org and caches SolutionPackager.exe (plus its dependencies) in the
extension's global storage. The sidebar shows the active version and lets you
Check for updates and Download / Update at any time.
To use your own copy instead, set
d365UnpackingAgent.solutionPackager.pathOverride to an absolute exe path.