Registrare e distribuire plug-in

 

Data di pubblicazione: gennaio 2017

Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Plug-in e attività flusso di lavoro personalizzate costituiscono il codice personalizzato che si sviluppa per estendere la funzionalità di Microsoft Dynamics 365 esistente. Prima di poter utilizzare un'attività flusso di lavoro personalizzata o un plug-in, è necessario registrarsi sul server. È possibile registrare a livello di programmazione i plug-in e le attività flusso di lavoro personalizzate con Microsoft Dynamics 365 (online e locale) scrivendo il codice di registrazione utilizzando alcune classi SDK. Tuttavia, per semplificare la curva di apprendimento e accelerare lo sviluppo e la distribuzione del codice personalizzato, nella cartella Bin dell'SDK è incluso lo strumento per la registrazione di attività flusso di lavoro personalizzate e plug-in.Scarica il pacchetto SDK di Microsoft Dynamics CRM.

Sebbene in questo argomento vengono principalmente trattati i plug-in, la maggior parte delle informazioni è applicabile anche alle attività flusso di lavoro personalizzate. La differenza tra i due sta nel fatto che per gli assembly di attività flusso di lavoro personalizzate si registra solo l'assembly. Per i plug-in, si registra l'assembly del plug-in e si eseguono uno o più passaggi per ogni plug-in. Per ulteriori informazioni sulle attività flusso di lavoro personalizzate, vedere Attività personalizzate del flusso di lavoro (assembly del flusso di lavoro).

System_CAPS_security Sicurezza Nota

Registrare solo attività flusso di lavoro personalizzate o plug-in ottenuti da fonte affidabile e attendibile.

Per ulteriori informazioni su come creare pacchetti di plug-in come componenti di soluzione, vedere Comprimere e distribuire estensioni con soluzioni.

In questo argomento

Strumento di registrazione plug-in

Archiviazione plug-in

Distribuzione

Soluzioni e controllo delle versioni degli assembly

Restrizioni sicurezza

Registrare plug-in a livello di programmazione

Abilitare o disabilitare l'esecuzione del codice personalizzato

Strumento di registrazione plug-in

Lo strumento Plug-in Registration fornisce un'interfaccia utente grafica e supporta la registrazione di plug-in e attività flusso di lavoro personalizzate con Microsoft Dynamics 365. Tuttavia, i plug-in e le attività flusso di lavoro personalizzate possono essere registrati solo nel sandbox (modalità di isolamento) di Microsoft Dynamics 365 (online).

Per ulteriori informazioni su come registrare e distribuire un plug-in utilizzando lo strumento, vedere Procedura dettagliata: registrare un plug-in utilizzando lo strumento per la registrazione dei plug-in. Tale strumento può essere aggiunto al menu Strumenti di Visual Studio come strumento esterno per velocizzare il processo di sviluppo.

Archiviazione plug-in

Per una distribuzione locale, i plug-in non registrati nel sandbox possono possono essere archiviati nel database del server Microsoft Dynamics 365 o nel file system su disco. È consigliabile archiviare i plug-in pronti per la produzione nel database di Microsoft Dynamics 365, anziché sul disco. I plug-in archiviati nel database vengono automaticamente distribuiti a più server di Microsoft Dynamics 365 in un cluster di data center. L'archiviazione su disco dei plug-in è utile per eseguire il debug dei plug-in in Microsoft Visual Studio. Tuttavia, è possibile eseguire il debug di un plug-in archiviato nel database. Per ulteriori informazioni, vedere Eseguire il debug di un plug-in.

I plug-in registrati nel sandbox devono essere archiviati nel database indipendentemente dalla distribuzione di Microsoft Dynamics 365 (locale, IFD o Online).

Distribuzione

Per le installazioni di Microsoft Dynamics 365 con connessione Internet (IFD) o locali, quando si distribuiscono i plug-in da un altro computer sul disco del server Microsoft Dynamics 365 (distribuzione su disco), l'assembly del plug-in deve essere manualmente copiato nel server prima della registrazione. L'assembly deve essere distribuito nella cartella <installdir>\Program Files\Microsoft CRM\server\bin\assembly in ogni server in cui deve essere eseguito il plug-in.

La registrazione del plug-in deve essere eseguita dopo la copia dell'assembly nella cartella …\bin\assembly del server per evitare che un utente di sistema causi un evento in Microsoft Dynamics 365 da generare, ma l'assembly del plug-in registrato ancora non esiste nel server. Per la distribuzione di database del server, l'assembly del plug-in viene copiato automaticamente durante la registrazione del plug-in in modo che la situazione precedente non risulti un problema.

A seconda della progettazione del plug-in, i plug-in potrebbe richiedere l'esecuzione di altri assembly di riferimento. Indipendentemente dalla distribuzione dei plug-in nel database o sul disco, se il plug-in richiede l'esecuzione di altri assembly, è necessario inserire le copie degli assembly nella Global Assembly Cache in ogni server in cui il plug-in deve essere eseguito. Ciò non si applica a un server Microsoft Dynamics 365 (online) perché non si dispone dell'accesso alla Global Assembly Cache del server.

Per spostare un plug-in da un ambiente di sviluppo a un server di gestione temporanea o produzione

  1. Nel computer di sviluppo, compilare il codice del plug-in. Non includere informazioni di debug. Ottimizzare le prestazioni del plug-in.

  2. Registrare il plug-in nel database del server Microsoft Dynamics 365.

  3. Tramite l'applicazione Web Microsoft Dynamics 365, creare una soluzione o utilizzarne una esistente e aggiungere il plug-in alla soluzione.

  4. Dopo aver aggiunto tutti gli altri componenti desiderati alla soluzione, esportare la soluzione.

  5. Importare la soluzione nel server di gestione temporanea o produzione.

Soluzioni e controllo delle versioni degli assembly

La versione degli assembly dei plug-in può essere controllata utilizzando un formato numerico di major.minor.build.revision  definito nel file Assembly.info del progetto di Microsoft Visual Studio. A seconda di quale parte del numero della versione dell'assembly viene modificata in una soluzione più recente, si applica il seguente comportamento quando una soluzione esistente viene aggiornata tramite l'importazione.

  • Il numero di revisione o di build della versione dell'assembly è cambiato.

    È possibile considerare un aggiornamento sul posto. La versione precedente dell'assembly viene rimossa quando la soluzione che contiene l'assembly aggiornato viene importata. I passaggi preesistenti della soluzione precedente vengono modificati automaticamente per fare riferimento alla versione più recente dell'assembly.

  • Il numero di versione principale o secondario dell'assembly, eccetto il numero di build o di revisione, è cambiato.

    Quando una soluzione aggiornata contenente l'assembly revisionato viene importata, l'assembly viene considerato completamente diverso dalla versione precedente dell'assembly della soluzione esistente. I passaggi per la registrazione dei plug-in nella soluzione esistente continueranno a fare riferimento alla versione precedente dell'assembly. Se si desidera che i passaggi esistenti per la registrazione di plug-in per l'assembly precedente puntino all'assembly revisionato, è necessario utilizzare lo strumento per la registrazione dei plug-in per modificare manualmente la configurazione del passaggio in modo da far riferimento al tipo di assembly revisionato. L'operazione deve essere eseguita prima dell'esportazione dell'assembly aggiornato in una soluzione per l'importazione successiva.

Per ulteriori informazioni sulle soluzioni, vedere Introduzione alle soluzioni.

Restrizioni sicurezza

Esiste una restrizione di sicurezza che consente solo agli utenti privilegiati la registrazione dei plug-in. Per i plug-in non registrati in isolamento, l'account utente di sistema con cui il plug-in viene registrato deve essere presente nel gruppo Deployment Administrators di Gestione distribuzione. Solo l'account utente dell'amministratore di sistema o un account utente incluso nel gruppo Deployment Administrators può eseguire Gestione distribuzione.

Importante

Per i plug-in non isolati, se non si include l'account utente di registrazione nel gruppo Deployment Administrators viene generata un'eccezione durante la registrazione del plug-in. La descrizione dell'eccezione cita "Non si dispone del privilegio sufficiente per completare l'operazione di creazione per un'entità SDK."

L'account utente di sistema con cui il plug-in esegue la registrazione deve disporre dei seguenti privilegi di sicurezza a livello di organizzazione:

  • prvCreatePluginAssembly

  • prvCreatePluginType

  • prvCreateSdkMessageProcessingStep

  • prvCreateSdkMessageProcessingStepImage

  • prvCreateSdkMessageProcessingStepSecureConfig

Per ulteriori informazioni, vedere Security role and privilege reference e Modello di sicurezza di Microsoft Dynamics 365.

Per i plug-in registrati nel sandbox (modalità di isolamento), l'account utente di sistema con cui il plug-in esegue la registrazione deve disporre del ruolo di amministratore di sistema. L'appartenenza al gruppo Deployment Administrators non è obbligatoria.

Registrare plug-in a livello di programmazione

I principali tipi di entità utilizzati per la registrazione di plug-in e immagini sono PluginAssembly, PluginType, SdkMessageProcessingStep e SdkMessageProcessingStepImage. I principali tipi di entità utilizzati per la registrazione di attività flusso di lavoro personalizzate sono PluginAssembly e PluginType. Utilizzare queste entità con le operazioni di creazione, aggiornamento, recupero ed eliminazione.

Per ulteriori informazioni sulle immagini, vedere Informazioni sul contesto dati passato a un plug-in.

Abilitare o disabilitare l'esecuzione del codice personalizzato

È possibile utilizzare Windows PowerShell per abilitare o disabilitare il codice personalizzato, tra cui plug-in e attività flusso di lavoro personalizzate, nel server, come descritto di seguito. In alternativa, è possibile utilizzare il servizio Web di distribuzione. Per ulteriori informazioni, vedere Impostazioni di entità di distribuzione e di configurazione della distribuzione per impostare la proprietà CustomCodeSettings.AllowExternalCode.

Per abilitare l'esecuzione del codice personalizzato

  1. Aprire una finestra di comando di Windows PowerShell.

  2. Aggiungere lo snap-in Microsoft Dynamics 365 PowerShell:

    Add-PSSnapin Microsoft.Crm.PowerShell
    
  3. Recuperare l'impostazione corrente:

    $setting = get-crmsetting customcodesettings
    
  4. Modificare l'impostazione corrente:

    $setting.AllowExternalCode="True"
    
    set-crmsetting $setting
    
  5. Verificare l'impostazione:

    get-crmsetting customcodesettings
    

Per disabilitare l'esecuzione del codice personalizzato

  1. Aprire una finestra di comando di Windows PowerShell.

  2. Aggiungere lo snap-in Microsoft Dynamics 365 PowerShell:

    Add-PSSnapin Microsoft.Crm.PowerShell
    
  3. Recuperare l'impostazione corrente:

    $setting = get-crmsetting customcodesettings
    
  4. Modificare l'impostazione corrente:

    $setting.AllowExternalCode=0
    
    set-crmsetting $setting
    
  5. Verificare l'impostazione:

    get-crmsetting customcodesettings
    

Vedere anche

Sviluppo dei plug-in
Eseguire il debug di un plug-in
Isolamento di plug-in, attendibilità e statistiche
Comprimere e distribuire estensioni con soluzioni
Privilegi per entità

Microsoft Dynamics 365

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright