Titolo ParagrafoAncora Sulle Dll Esterne Nei Plug-In

Sebbene Microsoft sconsiglia di utilizzare dll esterne nei plug-in...

...ci sono casi in cui, per comodità o costi (es. codice migrato dalla versione precedente), la cosa può essere necessaria.

La direttiva di Microsoft è abbastanza condivisibile dato che nel CRM 2011 gli assebly dei plug-in vanno tenuti nel DB e quindi una dll esterna va contro questa filosofia oltre poi a non funzionare off-line.

É per questo che, in casi simili, MS suggerisce per il CRM online di far girare i plug-in dentro Azure.

Per le versioni on-premise invece il posto migliore dove mettere tali dll è la GAC. Sarebbe inoltre meglio compilare gli assembly a 64 bit dato che la Platform lavora in questo modo.

L'unico problema con queste dll è il debug che va effettuato in maniera diversa: come si sa la GAC non è nient'altro che un albero di cartelle sul file system. Quindi basta copiare il file dei simboli di debug, .pbd, nello stesso punto in cui è memorizzata la dll in GAC.

Per fare ciò si apre con l'esplora risorse o con la shell il percorso %SYSTEMROOT%\Assembly\GAC_MSIL, aprire la cartella corrispondente alll'assembly, individuare la sottocartella che riporta il public token della firma dell'assembly ed inserire lì il file pbd.

Questo è il modo più semplice di gestire dll esterne nei plug-in con il CRM 2011 on premise e funziona sempre.

Dettagli...