Compartir por


Rastrexamento de dependencias para compoñentes da solución

As solucións están feitas de compoñentes de solución. Usará a zona Solucións de Microsoft Dataverse para crear ou engadir compoñentes de solución. Pode realizar estas accións mediante programación usando a mensaxe AddSolutionComponentRequest ou calquera mensaxe que cree ou actualice compoñentes de solución que inclúen un parámetro de SolutionUniqueName.

Os compoñentes das solucións adoitan depender doutros compoñentes das solucións. Non pode eliminar ningún compoñente da solución que teña dependencias noutro compoñente da solución. Por exemplo, unha fita personalizada normalmente require recursos web de imaxe ou script para mostrar iconas e realizar accións usando scripts. Sempre que a fita personalizada estea na solución, son necesarios os recursos web específicos que usa. Antes de poder eliminar os recursos web debe eliminar as referencias a eles na fita personalizada. Estas dependencias de compoñentes da solución pódense ver na aplicación facendo clic en Mostrar dependencias.

Este tema describe os tipos de compoñentes da solución que pode incluír nas súas solucións e como dependen uns dos outros.

Todos os compoñentes da solución

A lista completa de tipos de compoñentes de solucións dispoñibles está situada no conxunto de opcións global de componenttype do sistema. O rango de valores admitido para esta propiedade está dispoñible incluíndo o ficheiro OptionSets.cs ou OptionSets.vb no seu proxecto. Non obstante, moitos dos tipos de compoñentes da solución enumerados son só para uso interno e a lista non proporciona información sobre as relacións entre os compoñentes da solución.

Dependencias do compoñente da solución

As dependencias dos compoñentes da solución axudan a ter unha experiencia fiable traballando con solucións. Evitan accións que se realizan normalmente ao romper sen querer algunha personalización definida na solución. Estas dependencias permiten instalar e desinstalar unha solución administrada simplemente importando ou eliminando unha solución.

O marco de solucións rastrexa automaticamente as dependencias dos compoñentes das solucións. Cada operación dun compoñente da solución calcula automaticamente todas as dependencias do resto de compoñentes do sistema. A información de dependencia úsase para manter a integridade do sistema e evitar operacións que poidan levar a un estado inconsistente.

Como resultado do seguimento da dependencia, cumpríronse os seguintes comportamentos:

  • Evítase a eliminación dun compoñente se outro compoñente do sistema depende del.

  • A exportación dunha solución avisa ao usuario se faltan compoñentes que poidan causar fallos ao importar esa solución noutro sistema.

    As advertencias durante a exportación pódense ignorar se o desenvolvedor da solución pretende que a solución só se instale nunha organización onde se espera que existan compoñentes dependentes. Por exemplo, cando crea unha solución que está deseñada para ser instalada sobre unha solución "base" preinstalada.

  • A importación dunha solución falla se todos os compoñentes necesarios non están incluídos na solución e tampouco existen no sistema de destino.

    • Ademais, ao importar unha solución administrada todos os compoñentes necesarios deben coincidir co tipo de paquete da solución. Un compoñente dunha solución administrada só pode depender doutro compoñente xestionado.

    Hai tres tipos de dependencias do compoñente da solución:

    Interno da solución
    As dependencias internas son xestionadas por Dataverse. Existen cando un compoñente de solución particular non pode existir sen outro compoñente de solución.

    Publicado
    As dependencias publicadas créanse cando dous compoñentes de solución están relacionados entre si e logo publícanse. Para eliminar este tipo de dependencias, elimine a asociación e despois volva publicar as entidades.

    Sen publicar
    As dependencias non publicadas aplícanse á versión sen publicar dun compoñente da solución publicable que se está a actualizar. Despois de publicar o compoñente da solución, convértese nunha dependencia publicada.

    As dependencias internas da solución son dependencias onde as accións cun compoñente de solución requiren unha acción para outro compoñente de solución. Por exemplo, se elimina unha entidade, debe esperar a que todos os atributos de entidade se eliminen con ela. Eliminaranse tamén as relacións de entidades con outras entidades.

    Non obstante, unha dependencia interna pode levar a unha dependencia publicada e aínda precisa dunha intervención manual. Por exemplo, se inclúe un campo de busca nun formulario de entidade e despois elimina a entidade primaria da relación, non pode completar esa eliminación ata que elimine o campo de busca do formulario de entidade relacionado e logo publicar o formulario.

    Cando realice accións mediante programación con solucións, pode empregar mensaxes relacionadas coa entidade Dependency. Consulte Entidade de dependencia para saber as mensaxes que pode usar para identificar dependencias que poden existir antes de eliminar un compoñente ou desinstalar unha solución.

Compoñentes da solución comúns

Estes son os compoñentes da solución que aparecen na aplicación e os compoñentes cos que traballará directamente ao engadir ou eliminar compoñentes da solución usando a páxina de solución. Cada un dos outros compoñentes de solución dependerán dun ou máis destes compoñentes de solución para existir.

Fitas de aplicación (RibbonCustomization) Entidade (entidade) Informe (informe)
Modelo de artigo (KBArticleTemplate) Perfil de seguranza do campo (FieldSecurityProfile) Paso de procesamento de mensaxe de SDK (SDKMessageProcessingStep)
Rol de conexión (ConnectionRole) Modelo de combinación de correo (MailMergeTemplate) Rol de seguranza (rol)
Modelo de contrato (ContractTemplate) Conxunto de opcións (OptionSet) Extremo de servizo (ServiceEndpoint)
Panel ou formulario de entidade (SystemForm) Conxunto de complemento (PluginAssembly) Mapa de sitio (SiteMap)
Modelo de correo electrónico (EmailTemplate) Proceso (fluxo de traballo) Recurso web (WebResource)

Fitas de aplicación (RibbonCustomization)

Personalizacións de fita para os modelos de fita da aplicación e de fita de entidade. As fitas de aplicacións non inclúen definicións de fitas a nivel de entidade ou formulario.

As fitas de aplicacións personalizadas publican con frecuencia dependencias dos recursos web. Os recursos web úsanse para definir as iconas dos botóns de fita e as funcións de JavaScript para controlar cando se amosan elementos de fita ou que accións se realizan cando se usa un control de fita en particular. As dependencias só se crean cando as definicións de fita usan a directiva $webresource: para asociar o recurso web á fita. Máis información: $webresource directive

Modelo de artigo (KBArticleTemplate)

Modelo que contén os atributos estándar dun artigo. Sempre hai unha dependencia interna entre o modelo de artigo e a entidade KbArticle.

Rol de conexión (ConnectionRole)

Rol que describe unha relación entre dous rexistros. Cada rol de conexión define que tipos de rexistros de entidades se poden ligar usando o rol de conexión. Isto crea unha dependencia publicada entre o rol de conexión e a entidade.

Modelo de contrato (ContractTemplate)

Modelo que contén os atributos estándar dun contrato. Sempre hai unha dependencia interna entre o modelo de contrato e a entidade de contrato.

Panel ou formulario de entidade (SystemForm)

Os rexistros de entidades de formulario de sistema úsanse para definir táboas de control e formularios de entidades. Cando se usa un SystemForm como formulario de entidade, hai unha dependencia interna da entidade. Cando se usa un SystemForm como panel, non hai dependencias internas. Tanto os formularios de entidade como os paneis de traballo comunmente teñen dependencias publicadas relacionadas co seu contido. Un formulario de entidade pode ter campos de busca que dependan dunha relación de entidade. Tanto os paneis de control como os formularios de entidades poden conter gráficos ou subgrades que crearán unha dependencia publicada nunha vista, que logo ten unha dependencia interna nunha entidade. Pódese crear unha dependencia publicada nos recursos web por mor do contido amosado no panel ou o formulario ou cando un formulario contén bibliotecas JavaScript. Os formularios de entidade publicaron dependencias de calquera atributo que se amosan como campos no formulario.

Modelo de correo electrónico (EmailTemplate)

Modelo que contén os atributos estándar dunha mensaxe de correo electrónico. Un modelo de correo electrónico inclúe normalmente campos que insiren datos de atributos de entidade especificados. Pódese ligar un modelo de correo electrónico a unha entidade específica cando se crea polo que pode haber unha dependencia interna da entidade. Un modelo de correo electrónico global non está asociado a unha entidade específica, pero pode que publicase dependencias en atributos de entidade usados para fornecer datos. Con frecuencia configúrase un proceso (fluxo de traballo) para enviar un correo electrónico usando un modelo de correo electrónico creando unha dependencia publicada co fluxo de traballo.

Entidade (entidade)

A estrutura primaria empregada para modelar e xestionar datos en Dataverse. Os gráficos, formularios, relacións de entidades, vistas e atributos asociados a unha entidade elimínanse automaticamente cando a entidade é eliminada por mor das dependencias internas entre elas. As entidades publicaron frecuentemente dependencias con procesos, paneis de traballo e modelos de correo electrónico.

Perfil de seguranza do campo (FieldSecurityProfile)

Perfil que define o nivel de acceso para os atributos seguros.

Modelo de combinación de correo (MailMergeTemplate)

Modelo que contén os atributos estándar dun documento de combinación de correo. Un modelo de combinación de correo ten unha dependencia publicada na entidade coa que está asociado.

Conxunto de opcións (OptionSet)

Un conxunto de opcións define un conxunto de opcións. Un atributo de lista de selección usa un conxunto de opcións para definir as opcións fornecidas. Algúns atributos da lista de selección poden usar un conxunto de opcións global para que as opcións que proporcionan sexan sempre as mesmas e se manteñan nun só lugar. Unha dependencia publicada ocorre cando un atributo de lista de selección fai referencia a un conxunto de opcións global. Non pode eliminar un conxunto de opcións global que está a usar un atributo de lista de selección.

Conxunto de complemento (PluginAssembly)

Ensamblaxe que contén un ou máis tipos de complementos. Os complementos rexístranse en eventos que normalmente están asociados a unha entidade. Isto crea unha dependencia publicada.

Proceso (fluxo de traballo)

Conxunto de regras lóxicas que definen os pasos necesarios para automatizar un proceso, unha tarefa ou un conxunto de accións empresariais específicas que cómpre realizar. Os procesos fornecen unha ampla gama de accións que crean dependencias publicadas en calquera outro compoñente de solución ao que fai referencia o proceso. Cada proceso tamén ten unha dependencia publicada na entidade coa que está asociado.

Informe (informe)

Resumo de datos nun deseño fácil de ler. Un informe publicou dependencias de calquera entidade ou datos de atributos incluídos no informe. Cada informe tamén debe estar asociado a unha categoría de informe que crea unha dependencia interna nun compoñente de solución chamado Categoría relacionada co informe (ReportCategory). Os informes pódense configurar como subinformes creando unha dependencia publicada co informe primario.

Paso de procesamento de mensaxe de SDK (SDKMessageProcessingStep)

Fase da canalización de execucións que debe executar un complemento.

Rol de seguranza (rol)

Agrupación de privilexios de seguridade. Atribúense aos usuarios roles que autorizan o acceso ao sistema Dataverse. Os formularios de entidade pódense asociar con roles de seguridade específicos para controlar quen pode ver o formulario. Isto crea unha dependencia publicada entre o rol de seguranza e o formulario.

Nota

Só se poden engadir roles de seguridade da unidade empresarial da organización a unha solución. Só un usuario con acceso de lectura a eses roles de seguridade pode engadilos a unha solución.

Extremo de servizo (ServiceEndpoint)

Extremo de servizo co que se pode contactar.

Mapa de sitio (SiteMap)

Datos XML usados para controlar o panel de navegación da aplicación. O mapa do sitio pódese ligar para mostrar un recurso web HTML ou unha icona no mapa do sitio pode usar un recurso web de imaxe. Cando a directiva $webresource: se usa para establecer estas asociacións, créase unha dependencia publicada. Máis información: $webresource directive

Recurso web (WebResource)

Datos equivalentes aos ficheiros empregados no desenvolvemento web. Os recursos web proporcionan compoñentes de parte do cliente que se usan para proporcionar elementos de interface de usuario personalizados. Os recursos web poden ter dependencias publicadas con formularios de entidades, fitas e o mapa do sitio. Cando a directiva $webresource: se usa para establecer asociacións nunha fita ou no mapa do sitio, créase unha dependencia publicada. Para obter máis información, consulte directiva $webresource.

Nota

Os recursos web poden depender doutros recursos web baseados en ligazóns relativas. Por exemplo, un recurso web HTML pode usar un CSS ou un recurso web de script. Un recurso web Silverlight amosado fóra dun formulario ou gráfico dunha entidade debe ter un recurso web HTML para aloxalo. Estas dependencias non se rastrexan como dependencias de solución.

Consulte tamén

Conceptos da solución
Eliminación de dependencias
Estratexia do ambiente
Traballar con solucións mediante as API de SDK]
Referencia de entidade de solución
Referencia de entidade SolutionComponent