Compartir por


Rastrexamento de dependencias para compoñentes da solución

As solucións están feitas de compoñentes de solución. Usa a área Solucións en Microsoft Dataverse para crear ou engadir compoñentes da 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, debes eliminar as referencias a eles na fita personalizada. Estas dependencias dos compoñentes da solución pódense ver na aplicación seleccionando Mostrar dependencias.

Este artigo describe os tipos de compoñentes de 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 atópase na columna de elección global do sistema componenttype . 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 advirte ao usuario se faltan compoñentes que poidan causar un fallo ao importar esa solución noutro ambiente.

    Os avisos durante a exportación pódense ignorar se o desenvolvedor da solución pretende que a solución só se instale nun ambiente onde se espera que existan compoñentes dependentes. Por exemplo, cando crea unha solución deseñada para instalarse 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 ambiente 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:

  • Solución interna. As dependencias internas son xestionadas por Dataverse. Estas dependencias 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 dependencia hai que eliminar a asociación e publicar de novo as táboas.
  • Inédito. 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 táboa, debería esperar que todos os atributos da táboa se eliminen con ela. Tamén se eliminan todas as relacións de táboa con outras táboas.

Non obstante, unha dependencia interna pode levar a unha dependencia publicada e aínda requirir unha intervención manual. Por exemplo, se inclúe un campo de busca nun formulario de táboa e despois elimina a táboa principal da relación, non poderá completar esa eliminación ata que elimine a columna de busca do formulario de táboa relacionada e despois publique o formulario.

Cando realizas accións mediante programación con solucións, podes usar mensaxes relacionadas coa táboa Dependency . Vaia a Entidade de dependencia para ver as mensaxes que pode utilizar para identificar as dependencias que poidan existir antes de eliminar un compoñente ou desinstalar unha solución.

Compoñentes comúns da solución

Estes son os compoñentes da solución que se amosan na aplicación e os compoñentes cos que traballa directamente ao engadir ou eliminar compoñentes da solución mediante a páxina da solución. Cada un dos outros tipos de compoñentes da solución depende de que exista un ou máis destes compoñentes da solución.

Fitas de aplicación (RibbonCustomization)

Personalizacións da cinta para a cinta da aplicación e os modelos de cinta da táboa. As cintas de aplicación non inclúen definicións de cintas a nivel de táboa 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 do artigo e a táboa 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 táboa.

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 táboa de contratos.

Panel ou formulario de entidade (SystemForm)

Os rexistros da táboa de formularios do sistema úsanse para definir paneis e formularios de táboa. Cando se usa a SystemForm como un formulario de táboa, hai unha dependencia interna da táboa. Cando se utiliza a SystemForm como panel de control non hai dependencias internas. Tanto os formularios de táboa como os paneis de control teñen normalmente dependencias publicadas relacionadas co seu contido. Un formulario de táboa pode ter columnas de busca que dependen dunha relación de táboa. Tanto os paneis como os formularios de táboa poden conter gráficos ou subredes que crean unha dependencia publicada nunha vista, que logo ten unha dependencia interna nunha táboa. 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 táboa publicaron dependencias de calquera atributo que se mostra como columnas 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 normalmente inclúe columnas que insiren datos de atributos de táboa especificados. Un modelo de correo electrónico pódese ligar a unha táboa específica cando se crea para que poida haber unha dependencia interna da táboa. Un modelo global de correo electrónico non está asociado a unha táboa específica, pero pode ter dependencias publicadas dos atributos da táboa utilizados para proporcionar 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)

As táboas, antes coñecidas como entidades, son a estrutura principal utilizada para modelar e xestionar datos en Dataverse. Os gráficos, os formularios, as relacións de táboas, as vistas e os atributos asociados a unha táboa elimínanse automaticamente cando se elimina a táboa debido ás dependencias internas entre eles. As táboas con frecuencia teñen dependencias publicadas con procesos, paneis e modelos de correo electrónico.

Perfil de seguranza da columna (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 correspondencia ten unha dependencia publicada na táboa coa que está asociado.

Conxunto de opcións (OptionSet)

Unha columna de selección, antes coñecida como conxunto de opcións, define un conxunto de opcións. Un atributo de lista de selección usa unha opción para definir as opcións proporcionadas. Varios atributos da lista de selección poden usar unha opción global para que as opcións que proporcionan sexan sempre as mesmas e poidan manterse nun só lugar. Unha dependencia publicada ocorre cando un atributo de lista de selección fai referencia a unha opción global. Non pode eliminar unha opción global que está a ser utilizada por un atributo de lista de selección.

Conxunto de complemento (PluginAssembly)

Ensamblaxe que contén un ou máis tipos de complementos. Os complementos están rexistrados para eventos que normalmente están asociados cunha táboa. 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 táboa coa que está asociado.

Informe (informe)

Resumo de datos nun deseño fácil de ler. Un informe publicou dependencias de calquera táboa 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 para que sexan subinformes que crean unha dependencia publicada co informe principal.

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. Aos usuarios asígnanse roles de seguranza que autorizan o seu acceso ao Dataverse sistema. Os formularios de táboa pódense asociar a roles de seguranza específicos para controlar quen pode ver o formulario. Isto crea unha dependencia publicada entre o rol de seguranza e o formulario.

Nota

A unha solución só se poden engadir roles de seguranza da unidade de negocio de medio ambiente. 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 pode estar ligado para mostrar un recurso web HTML ou unha icona do mapa do sitio pode usar un recurso web de imaxe. Cando se utiliza a $webresource: directiva para establecer estas asociacións, créase unha dependencia publicada. Máis información: $webresource directive

Recurso web (WebResource)

Datos equivalentes aos ficheiros utilizados para estender unha aplicación baseada en modelos ou 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 táboa, cintas e o mapa do sitio. Cando se utiliza a $webresource: directiva para establecer asociacións nunha cinta ou no mapa do sitio, créase unha dependencia publicada. Para obter máis información, vai á directiva $webresource.

Nota

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

Consulte tamén