Comparteix a través de


Seguiment de dependències dels components de la solució

Les solucions estan fetes de components de la solució. Utilitzareu l'àrea Solucions del Microsoft Dataverse per crear o afegir components de la solució. Podeu dur a terme aquestes accions mitjançant programació amb el missatge AddSolutionComponentRequest o qualsevol missatge que creï o actualitzi els components de la solució que inclouen un paràmetre SolutionUniqueName.

Els components de la solució depenen sovint d'altres components de la solució. No podeu suprimir cap component de la solució que tingui dependències sobre un altre component de la solució. Per exemple, una franja personalitzada requereix normalment que els recursos web d'un script o una imatge mostrin icones i realitzin accions mitjançant scripts. Sempre que la franja personalitzada sigui a la solució, els recursos web específics que utilitza són obligatoris. Per poder suprimir els recursos web, heu de suprimir-ne les referències a la franja personalitzada. Per visualitzar aquestes dependències dels components de la solució a l'aplicació, feu clic a Mostra les dependències.

En aquest tema es descriuen els tipus de components de la solució que podeu incloure a les solucions i com depenen els uns dels altres.

Tots els components de la solució

La llista completa de tipus de components de la solució disponibles es troba al conjunt d'opcions globals componenttype del sistema. L'interval de valors admès per a aquesta propietat està disponible si hi ha inclòs el fitxer OptionSets.cs o OptionSets.vb al projecte. No obstant això, molts dels tipus de components de la solució que es mostren només són per a ús intern i la llista no proporciona informació sobre les relacions entre els components de la solució.

Dependències dels components d'una solució

Les dependències dels components de la solució garanteixen que teniu una experiència fiable quan treballeu amb solucions. Impedeixen accions que normalment realitzeu des de personalitzacions que malmeten involuntàriament definides en una solució. Aquestes dependències permeten instal·lar una solució administrada i desinstal·lar-la simplement mitjançant la importació o la supressió d'una solució.

El marc de solucions fa un seguiment automàtic de les dependències dels components de la solució. Cada operació d'un component de la solució calcula automàticament qualsevol dependència sobre la resta de components del sistema. La informació de dependència s'utilitza per mantenir la integritat del sistema i impedir operacions que podrien donar lloc a un estat incoherent.

Com a resultat del seguiment de la dependència, s'apliquen els següents comportaments:

  • S'impedeix la supressió d'un component si un altre component del sistema en depèn.

  • L'exportació d'una solució adverteix l'usuari si hi ha components que falten i que podrien ocasionar un error en importar aquesta solució en un altre sistema.

    Els advertiments durant l'exportació es poden ignorar si el desenvolupador de la solució té la intenció que la solució només s'instal·li en una organització on s'espera que hi hagi components dependents. Per exemple, quan creeu una solució que està dissenyada per instal·lar-se en una solució de "base" instal·lada prèviament.

  • La importació d'una solució no es produeix si tots els components necessaris no s'inclouen a la solució i, a més, no existeixen al sistema de destinació.

    • A més, quan importeu un solució administrada, tots els components necessaris han de coincidir amb el tipus de paquet de la solució. Un component d'una solució administrada només pot dependre d'un altre component administrat.

    Hi ha tres tipus de dependències dels components de la solució:

    Intern de la solució
    El Dataverse administra les dependències internes. Existeixen quan un determinat component de la solució no pot existir sense un altre component de la solució.

    Publicat
    Les dependències publicades es creen quan dos components de la solució estan relacionats entre si i després es publiquen. Per suprimir aquest tipus de dependència, cal suprimir l'associació i tornar a publicar les entitats.

    No publicat
    Les dependències no publicades s'apliquen a la versió no publicada d'un component de la solució que es pot publicar i que s'està actualitzant. Després de la publicació del component de la solució, es converteix en una dependència publicada.

    Les dependències internes de la solució són dependències en què les accions d'un component de la solució requereixen una acció per a un altre component de la solució. Per exemple, si suprimiu una entitat, heu d'esperar que tots els atributs de l'entitat se suprimiran. També se suprimirà qualsevol relació d'entitat amb altres entitats.

    Tanmateix, una dependència interna pot dirigir a una dependència publicada i requerir una intervenció manual. Per exemple, si incloeu un camp de cerca en un formulari d'entitat i, a continuació, suprimiu l'entitat principal de la relació, no podeu completar la supressió fins que no suprimiu el camp de cerca del formulari d'entitat relacionat i, a continuació, publiqueu el formulari.

    Quan realitzeu accions mitjançant programació amb solucions, podeu utilitzar missatges relacionats amb l'entitat Dependency. Vegeu Entitat de dependència per obtenir els missatges que podeu utilitzar per identificar les dependències que poden existir abans de suprimir un component o desinstal·lar una solució.

Components de la solució comuns

Aquests són els components de la solució que es mostren a l'aplicació i els components amb els quals treballareu directament en afegir o suprimir components de la solució mitjançant la pàgina de la solució. Cadascun dels altres tipus de components de la solució dependrà d'un o més d'aquests components de la solució per existir.

Franges d'aplicació (RibbonCustomization) Entitat (entitat) Informe (informe)
Plantilla d'article (KBArticleTemplate) Perfil de seguretat del camp (FieldSecurityProfile) Pas de processament de missatges de l'SDK (SDKMessageProcessingStep)
Funció de connexió (ConnectionRole) Plantilla de combinació de correspondència (MailMergeTemplate) Funció de seguretat (funció)
Plantilla de contracte (ContractTemplate) Conjunt d'opcions (OptionSet) Extrem del servei (ServiceEndpoint)
Formulari d'entitat o escriptori digital (SystemForm) Assemblatge de complements (PluginAssembly) Mapa del lloc (SiteMap)
Plantilla de correu electrònic (EmailTemplate) Procés (flux de treball) Recurs web (WebResource)

Franges d'aplicació (RibbonCustomization)

Personalitzacions de la franja de les plantilles de la franja d'entitats i de l'aplicació. Les franges d'aplicació no inclouen definicions de franges al nivell del formulari o l'entitat.

Les franges d'aplicació personalitzades sovint tenen dependències publicades en recursos web. Els recursos web s'utilitzen per definir icones de botó de la franja i funcions del JavaScript per controlar quan es mostren els elements de la franja o quines accions es duen a terme quan s'utilitza un control de franja concret. Les dependències només es creen quan la definició de la franja utilitza la directiva $webresource: per associar el recurs web a la franja. Més informació: Directiva $webresource

Plantilla d'article (KBArticleTemplate)

Plantilla que conté els atributs estàndard d'un article. Sempre hi ha una dependència interna entre la plantilla de l'article i l'entitat KbArticle.

Funció de connexió (ConnectionRole)

Funció que descriu una relació entre dos registres. Cada funció de connexió defineix els tipus de registres d'entitat que es poden enllaçar amb la funció de connexió. Això crea una dependència publicada entre la funció de connexió i l'entitat.

Plantilla de contracte (ContractTemplate)

Plantilla que conté els atributs estàndard d'un contracte. Sempre hi ha una dependència interna entre la plantilla de contracte i l'entitat de contracte.

Formulari d'entitat o escriptori digital (SystemForm)

Els registres d'entitat de formulari del sistema s'utilitzen per definir escriptoris digitals i formularis d'entitat. Quan s'utilitza SystemForm com a formulari d'entitat, hi ha una dependència interna de l'entitat. Quan s'utilitza SystemForm com a escriptori digital, no hi ha cap dependència interna. Els formularis d'entitat i els escriptoris digitals normalment tenen dependències publicades relacionades amb el seu contingut. Un formulari d'entitat pot tenir camps de cerca que depenen d'una relació d'entitat. Els escriptoris digitals i els formularis d'entitat poden contenir gràfics o subquadrícules que crearan una dependència publicada en una visualització, que després tindrà una dependència interna de l'entitat. Es pot crear una dependència publicada dels recursos web a causa del contingut que es mostra a l'escriptori digital o el formulari o quan un formulari conté biblioteques del JavaScript. Els formularis d'entitat tenen dependències publicades de qualsevol atribut que es mostra com a camp al formulari.

Plantilla de correu electrònic (EmailTemplate)

Plantilla que conté els atributs estàndard d'un missatge de correu electrònic. Una plantilla de correu electrònic normalment inclou camps que introdueixen dades dels atributs d'entitat especificats. Una plantilla de correu electrònic es pot enllaçar amb una entitat concreta quan es crea per tal que pugui haver-hi una dependència interna de l'entitat. Una plantilla de correu electrònic global no està associada a cap entitat específica, però pot ser que tingui dependències publicades dels atributs d'entitat que s'han utilitzat per proporcionar les dades. Un procés (flux de treball) es configura freqüentment per enviar un correu electrònic amb una plantilla de correu electrònic que crea una dependència publicada amb el flux de treball.

Entitat (entitat)

L'estructura principal s'utilitza per modelar i administrar dades al Dataverse. Els gràfics, els formularis, les relacions d'entitat, les visualitzacions i els atributs associats a una entitat se suprimeixen automàticament quan l'entitat se suprimeix a causa de les dependències internes que hi ha entre si. Les entitats sovint tenen dependències publicades amb processos, escriptoris digitals i plantilles de correu electrònic.

Perfil de seguretat del camp (FieldSecurityProfile)

Perfil que defineix el nivell d'accés per als atributs protegits.

Plantilla de combinació de correspondència (MailMergeTemplate)

Plantilla que conté els atributs estàndard d'un document de combinació de correspondència. Una plantilla de combinació de correspondència té una dependència publicada de l'entitat a la qual està associada.

Conjunt d'opcions (OptionSet)

Un conjunt d'opcions defineix diverses opcions. Un atribut de llista de selecció utilitza un conjunt d'opcions per definir les opcions proporcionades. Diversos atributs de llista de selecció poden utilitzar un conjunt d'opcions global de manera que les opcions que proporcionen siguin sempre iguals i es puguin mantenir en un sol lloc. Una dependència publicada es produeix quan un atribut de llista de selecció fa referència a un conjunt d'opcions global. No podeu suprimir un conjunt d'opcions global utilitzat per un atribut de llista de selecció.

Assemblatge de complements (PluginAssembly)

Assemblatge que conté un o diversos tipus de complements. Els complements es registren a les incidències que normalment s'associen a una entitat. Això crea una dependència publicada.

Procés (flux de treball)

Conjunt de regles lògiques que defineix els passos necessaris per automatitzar un procés, una tasca o un conjunt d'accions empresarials específics que s'han de realitzar. Els processos proporcionen un ampli ventall d'accions que creen dependències publicades de qualsevol altre component de la solució a la qual fa referència el procés. Cada procés també té una dependència publicada de l'entitat a la qual està associada.

Informe (informe)

Resum de dades en una disposició fàcil de llegir. Un informe té dependències publicades de qualsevol entitat o informació d'atribut que s'inclou a l'informe. Cada informe també s'ha d'associar a una categoria Informe que crea una dependència interna d'un component de la solució anomenada Categoria relacionada de l'informe (ReportCategory). Els informes es poden configurar per ser subinformes que creen una dependència publicada amb l'informe principal.

Pas de processament de missatges de l'SDK (SDKMessageProcessingStep)

Fase del pipeline d'execucions que ha d'executar un complement.

Funció de seguretat (funció)

Agrupament de privilegis de seguretat. S'assignen funcions als usuaris que els autoritzen a accedir al sistema del Dataverse. Els formularis d'entitat es poden associar a funcions de seguretat específiques per controlar qui pot visualitzar el formulari. Això crea una dependència publicada entre la funció de seguretat i el formulari.

Nota

Només es poden afegir les funcions de seguretat de la unitat de negoci de l'organització a una solució. Només un usuari amb accés de lectura a aquestes funcions de seguretat pot afegir-les a una solució.

Extrem del servei (ServiceEndpoint)

Extrem de servei que es pot contactar.

Mapa del lloc (SiteMap)

Dades XML utilitzades per controlar la subfinestra de navegació de l'aplicació. El mapa del lloc es pot enllaçar per mostrar un recurs web HTML o una icona del mapa del lloc pot utilitzar un recurs web d'imatge. Quan la directiva $webresource: s'utilitza per establir aquestes associacions, es crea una dependència publicada. Més informació: Directiva $webresource

Recurs web (WebResource)

Dades equivalents dels fitxers utilitzats en el desenvolupament web. Els recursos web proporcionen components de client que s'utilitzen per proporcionar elements d'interfície d'usuari personalitzats. Els recursos web poden tenir dependències publicades amb formularis d'entitat, franges i el mapa del lloc. Quan la directiva $webresource: s'utilitza per establir associacions en una franja o el mapa del lloc, es crea una dependència publicada. Per obtenir més informació, consulteu Directiva $webresource.

Nota

Els recursos web poden dependre d'altres recursos web basats en enllaços relatius. Per exemple, un recurs web HTML pot utilitzar un recurs web d'script o CSS. Un recurs web del Silverlight que es mostra fora d'un formulari d'entitat o d'un gràfic ha de tenir un recurs web HTML per allotjar-lo. No es fa el seguiment d'aquestes dependències com a dependències de la solució.

Consulteu també

Conceptes de solucions
Suprimir dependències
Estratègia d'entorn
Treballar amb solucions mitjançant les API de SDK
Referència d'entitat de la solució
Referència d'entitat del component de la solució