Skip to content
| Marketplace
Sign in
Visual Studio Code>Extension Packs>Dataverse HelperNew to Visual Studio Code? Get it now.
Dataverse Helper

Dataverse Helper

Eduteam

|
20 installs
| (0) | Free
Strumento di supporto per sviluppatori Dataverse: autenticazione, metadati, scaffolding plugin/CWA e deploy.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Dataverse Helper

Estensione VS Code per lo sviluppo su Microsoft Dataverse / Dynamics 365: esplora i metadati, genera il codice, registra plugin e step, pubblica web resource e flussi — senza uscire dall'editor e senza CLI esterne (niente pac, niente spkl, niente Plugin Registration Tool).

Interfaccia in italiano.

Cosa puoi fare

Connessione e metadati

  • Quattro modalità di connessione, scelte per ambiente (come la schermata "New connection" di XrmToolBox):
    • Browser di sistema (OAuth / MFA): Authorization Code + PKCE, MFA gestita nel browser.
    • Utente e password: come il Connection Wizard di XrmToolBox. Prova prima utente e password; se il tenant chiede l'MFA o una Conditional Access, passa da solo all'Account Windows (WAM) con lo stesso utente e da lì l'ambiente resta su WAM. Non per account federati (ADFS).
    • Account Windows (WAM): broker di Windows tramite gli account Microsoft di VS Code; passa l'identità del dispositivo. È la modalità per i tenant con Conditional Access che richiede un dispositivo conforme o registrato, dove il login nel browser fallisce con "dispositivo non conforme". Al primo accesso VS Code chiede il consenso e la scelta dell'account, poi è silenzioso.
    • Client ID / Secret: app registration registrata come application user, nessun login utente.
  • Il tenant si ricava dall'ambiente, quindi funzionano anche gli utenti guest e i cloud sovrani. Token e segreti restano cifrati in VS Code e vengono riusati alle sessioni successive.
  • Browser dei metadati nella activity bar: ambiente → entità → campi, con cache locale, ricerca per nome o logical name, filtro per solution e toggle delle tabelle di sistema.
  • Selezione a checkbox di entità e campi, persistita per ambiente: è l'input di tutti i generatori.
  • Metadata Explorer: chiavi alternate, relazioni 1:N / N:1 / N:N, privilegi e attributi di un'entità.

Progetti C# (plugin e custom workflow activity)

  • Scaffolding di progetti tipizzati net462 con classi base, error handling, tracing, strong-name key e manifest di registrazione.
  • Solution Visual Studio (.sln) multi-progetto: ogni progetto è un assembly separato.
  • Wizard plugin: entità, messaggio, stage, mode, filtering attributes, pre/post-image con i campi.
  • Wizard custom workflow activity: parametri InArgument/OutArgument tipizzati con ReferenceTarget per i lookup.
  • Editor grafico di plugin, step e immagini: dropdown vincolati, checkbox sui campi reali dell'entità, validazione dei vincoli Dataverse. Nessun JSON da scrivere a mano.
  • Build & Deploy via Web API: build Debug o Release, diff di cosa verrà creato o aggiornato, conferma, poi registrazione idempotente di assembly, tipi, step e immagini.
  • Deregistrazione di assembly esistenti, con step e immagini in cascata.
  • Solution Dataverse unmanaged: scegli o crea solution e publisher; i componenti registrati ci vengono aggiunti automaticamente a ogni deploy.

Generazione di codice

  • Datamodel early-bound dalle entità selezionate: classi partial : Entity, costanti Fields, enum per gli OptionSet (inclusi i MultiSelect) e target dei lookup.
  • Datamodel JavaScript per le web resource, in un unico file: logical name, entity set, campi, nomi Web API dei lookup (_x_value) e valori degli OptionSet, con @typedef JSDoc per l'autocompletamento e forEntity("account"). È già collegato a tutto il progetto:
    • script e pagine: web resource globale edu_/datamodel.js (namespace Edu.Model). Gli script la hanno come dipendenza in Dataverse, che la carica con loro senza aggiungerla alle librerie della form; le pagine la includono con un <script>;
    • SPA: modulo ES src/dataverse/model.js, importato da App.jsx.
  • Unit test xUnit con harness mock leggero (nessuna dipendenza esterna) e coverage via coverlet: un test per ogni step registrato nel manifest.

Azure Function e webhook

  • Scaffold Azure Function .NET 10 isolated con trigger HTTP, Service Bus o Timer, ServiceClient già in DI e configurazione pronta. La connessione a Dataverse si sceglie in fase di creazione: managed identity (nessun segreto, token via DefaultAzureCredential) oppure connection string con client secret.
  • Registrazione webhook as-code: serviceendpoint + step che lo invoca, creati via Web API e aggiunti alla solution attiva.

Web resource

  • Scaffold di tre tipi, tutti in JavaScript. Il nome in Dataverse segue il percorso nel progetto (account/account.js → edu_/account/account.js):

    • script di form, uno per entità nella sua cartella (namespace Edu.Account con onLoad / onSave / onChange); Aggiungi script entità ne aggiunge altri allo stesso progetto;
    • pagina HTML con il suo JS e CSS in una cartella;
    • SPA React (JSX + Vite): edu_/<nome>/index.html, app.js, styles.css, con una utility per la Web API (retrieveMultiple, FetchXML, CRUD, whoAmI).

    Script e pagine si caricano così come sono, niente npm né build.

  • Deploy con publish automatico e aggiunta alla solution; se il manifest ha build (la SPA, o i progetti TypeScript/Vite delle versioni precedenti) la build parte prima.

  • Confronto locale ↔ server con smart-match per nome.

  • Browser delle web resource dell'ambiente: alberatura con ricerca e filtro per solution; scarica, modifica e ricarica anche risorse non create da te.

Power Automate

  • Esporta un flusso in un file .flow.json versionabile, modificalo e rideployalo; attiva, disattiva ed elimina i flussi dall'editor.

Analytics

  • Log unificati di plugin, custom workflow activity ed esecuzioni workflow, con ricerca, filtri per campo (tipo, messaggio, entità, correlation id, durata minima), intervallo temporale, toggle "solo eccezioni" e dettaglio completo di exception, stack trace e blocco di tracing.

Requisiti

  • VS Code 1.90 o superiore.
  • Utente Dataverse con privilegi di personalizzazione (per registrare plugin e componenti).
  • Per la parte C#: .NET SDK (dotnet nel PATH) e sn.exe per la strong-name key (l'assembly da registrare in Dataverse deve essere firmato).

Per iniziare

  1. Apri la vista Dataverse nella activity bar e usa Connetti ad ambiente: inserisci l'URL (es. https://contoso.crm.dynamics.com), scegli la modalità di autenticazione e completa il login.
  2. Naviga le entità e spunta quelle e i campi che ti servono.
  3. Dalla vista Azioni: crea il progetto, genera plugin o datamodel, configura la solution Dataverse e lancia Build & Deploy.

Tutti i comandi sono raggiungibili anche dalla Command Palette con il prefisso Dataverse:.

Impostazioni

Impostazione Default Descrizione
dataverseHelper.clientId public client di Power Platform CLI Application (client) ID per il login con browser e WAM
dataverseHelper.tenant organizations Con organizations si usa il tenant dell'ambiente; altrimenti GUID o dominio del tenant da forzare
dataverseHelper.apiVersion 9.2 Versione della Dataverse Web API
dataverseHelper.analyticsTop 300 Numero massimo di righe caricate in Analytics

Se il login WAM fallisce per il redirect URI, usa un'app registration del tenant con i redirect URI ms-appx-web://Microsoft.AAD.BrokerPlugin/<client-id> (WAM) e http://localhost (browser), poi impostala in dataverseHelper.clientId. WAM richiede che l'impostazione di VS Code microsoft-authentication.implementation non sia msal-no-broker.

Note sul deploy degli assembly

L'identità di un plugin assembly in Dataverse è nome + public key token, non la versione: ridistribuendo con lo stesso nome e la stessa .snk l'aggiornamento è in-place e gli step registrati restano agganciati. Non cambiare la chiave né il nome dell'assembly tra le versioni.

Licenza

MIT.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft