Seguiment de dependències dels components de la solució

Les solucions estan fetes de components de la solució. Utilitza l'àrea de Solucions a 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-hi les referències a la franja personalitzada. Pots veure aquestes dependències dels components de la solució a l'aplicació seleccionant Mostra dependències.

En aquest article 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 columna d'elecció global del sistema componenttype conté la llista completa dels tipus de components de la solució disponibles. Pots veure el rang de valors suportats per a aquesta propietat incloent-hi el fitxer OptionSets.cs o OptionSets.vb al teu projecte. Tanmateix, molts dels tipus de components de la solució que s'hi esmenten són només 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ó asseguren que tinguis una experiència fiable treballant 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. El sistema utilitza la informació de dependència per mantenir la seva integritat i evitar operacions que podrien conduir a un estat inconsistent.

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

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

  • L'exportació d'una solució t'avisa si falten components que podrien causar fallades en importar aquesta solució a un altre entorn.

    Pots ignorar els avisos durant l'exportació si tens la intenció que la solució s'instal·li només en un entorn on s'espera que hi hagi components dependents. Per exemple, quan crees una solució dissenyada per ser instal·lada sobre una solució "base" preinstal·lada.

  • La importació d'una solució falla si la solució no inclou tots els components necessaris i l'entorn objectiu no els té ja.

  • Quan importes una solució gestionada, tots els components requerits han de coincidir amb el tipus de paquet de la solució. Un component en una solució gestionada només pot dependre d'un altre component gestionat.

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

  • Solució interna. Dataverse gestiona les dependències internes. Aquestes dependències existeixen quan un component de solució concret no pot existir sense un altre component de la solució.
  • Publicat. Dataverse crea dependències publicades quan dos components de la solució estan relacionats entre si i després es publiquen. Per eliminar aquest tipus de dependència, cal eliminar l'associació i tornar a publicar les taules.
  • Inèdit. 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 publicar el component de la solució, esdevé 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 elimines una taula, esperes que tots els atributs de la taula s'esborrin amb ella. El sistema també elimina qualsevol relació de taula amb altres taules.

Tanmateix, una dependència interna pot conduir a una dependència publicada i encara requerir una intervenció manual. Per exemple, si inclous un camp de cerca en un formulari de taula i després elimines la taula principal de la relació, no pots completar aquesta eliminació fins que no eliminis la columna de cerca del formulari de taula corresponent i després publiques el formulari.

Quan realitzis accions programàtiques amb solucions, utilitza missatges relacionats amb la Dependency taula. Aneu a Entitat de dependència per veure els missatges que podeu utilitzar per identificar les dependències que poden existir abans de suprimir un component o desinstal·lar una solució.

Components comuns de la solució

Aquests components de la solució apareixen a l'aplicació. Treballes directament amb ells quan afegeixes o treus components de la solució a través de la pàgina de la solució. Cada un dels altres tipus de components de la solució depèn d'un o més d'aquests components.

Franges d'aplicació (RibbonCustomization)

Personalitzacions de la cinta per a les plantilles de la cinta de l'aplicació i la cinta de taula. Les cintes d'aplicació no inclouen definicions de cintes al nivell de taula o formulari.

Les franges d'aplicació personalitzades sovint tenen dependències publicades en recursos web. Utilitza recursos web per definir icones de botons de cinta i funcions JavaScript que controlin quan es mostren els elements de cinta o quines accions es realitzen quan s'utilitza un control de cinta concret. Les dependències es creen només quan les definicions de cinta utilitzen la $webresource: directiva per associar el recurs web a la cinta. Per obtenir més informació, vegeu $webresource directiva.

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 la taula KbArticle.

Funció de connexió (ConnectionRole)

Rol que descriu una relació entre dos discos. Cada rol de connexió defineix quins tipus de registres d'entitat es poden enllaçar utilitzant el rol de connexió. Aquest rol crea una dependència publicada entre el rol de connexió i la taula.

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 la taula de contractes.

Formulari d'entitat o escriptori digital (SystemForm)

Utilitza registres de taules de formularis del sistema per definir quadres de comandament i formularis de taula. Quan utilitzes a SystemForm com a forma de taula, hi ha una dependència interna de la taula. Quan utilitzes a SystemForm com a tauler de comandament, no hi ha dependències internes. Tant els formularis de taula com els escriptoris digitals solen tenir dependències publicades relacionades amb el seu contingut. Un formulari de taula pot tenir columnes de cerca que depenen d'una relació de taula. Tant els escriptoris digitals com els formularis de taula poden contenir gràfics o subquadrícules que creen una dependència publicada d'una visualització, que després té una dependència interna d'una taula. 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 de taula tenen dependències publicades de tots els atributs que es mostren com a columnes del formulari.

Plantilla de correu electrònic (EmailTemplate)

Plantilla que conté els atributs estàndard d'un missatge de correu electrònic. Normalment, una plantilla de correu electrònic inclou columnes que insereixen dades d'atributs de taula especificats. Pots enllaçar una plantilla de correu electrònic a una taula específica quan la creïs, així que pot haver-hi una dependència interna de la taula. Una plantilla global de correu electrònic no està associada a una taula específica, però podria tenir dependències publicades dels atributs de taula utilitzats per proporcionar dades. Un procés (flux de treball) sovint es configura per enviar un correu utilitzant una plantilla de correu electrònic, creant una dependència publicada amb el flux de treball.

Entitat (entitat)

Les taules, abans conegudes com a entitats, són l'estructura principal utilitzada per modelar i gestionar dades Dataverse. A causa de les dependències internes entre elles, quan elimines una taula, també elimines gràfics, formularis, relacions de taula, vistes i atributs associats a aquesta taula. Les taules sovint tenen dependències publicades amb processos, escriptoris digitals i plantilles de correu electrònic.

Perfil de seguretat de columna (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 la taula a la qual està associada.

Conjunt d'opcions (OptionSet)

Una columna d'opcions, abans coneguda com a conjunt d'opcions, defineix un conjunt d'opcions. Un atribut de llista de selecció utilitza una opció per definir les opcions proporcionades. Diversos atributs de llista de selecció poden utilitzar una opció global perquè les opcions que proporcionen siguin sempre les mateixes 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 una opció global. No podeu suprimir una opció global que utilitza un atribut de llista de selecció.

Assemblatge de complements (PluginAssembly)

Assemblatge que conté un o diversos tipus de complements. Els connectors es registren en esdeveniments que normalment s'associen amb una taula. Aquest registre crea una dependència publicada.

Procés (flux de treball)

Conjunt de regles lògiques que defineixen els passos necessaris per automatitzar un procés empresarial específic, una tasca o un conjunt d'accions a 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 la taula a la qual està associat.

Informe (informe)

Resum de dades en una disposició fàcil de llegir. Un informe ha publicat dependències de les dades de taula o atribut incloses a l'informe. Cada informe també ha d'estar associat a una categoria d'informe, creant una dependència interna d'un component de la solució anomenat Categoria Relacionada amb l'Informe (ReportCategory). Pots configurar els informes perquè siguin subinformes, creant una dependència publicada amb l'informe pare.

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. Assignar rols de seguretat als usuaris per autoritzar el seu accés al sistema Dataverse. Associa formularis de taula amb rols de seguretat específics per controlar qui pot veure el formulari. Aquesta associació crea una dependència publicada entre el rol de seguretat i el formulari.

Nota

Només pots afegir rols de seguretat des de la unitat de negoci de l'entorn 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)

Punt final de servei que pots contactar.

Mapa del lloc (SiteMap)

Dades XML utilitzades per controlar la subfinestra de navegació de l'aplicació. Pots enllaçar el mapa del lloc per mostrar un recurs web HTML, o una icona al mapa pot utilitzar un recurs web d'imatges. Quan utilitzes la $webresource: directiva per establir aquestes associacions, crees una dependència publicada. Per obtenir més informació, vegeu $webresource directiva.

Recurs web (WebResource)

Dades equivalents als fitxers utilitzats per ampliar una aplicació basada en models o en 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 de taula, cintes i el mapa del lloc. Quan utilitzes la $webresource: directiva per establir associacions en una cinta o en el mapa del lloc, crees una dependència publicada. Per obtenir més informació, vegeu $webresource directiva.

Nota

Els recursos web poden dependre d'altres recursos web basats en enllaços relatius. Per exemple, un recurs web HTML pot utilitzar un CSS recurs web o script. Un recurs web del Silverlight que es mostra fora d'un formulari o gràfic de taula 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é