evento
Conferência de Devs Poderosos e Hack Together
12/02, 23 - 28/02, 23
Junte-se à conferência online e ao hackathon de 2 semanas para explorar a construção de soluções poderosas com a Power Platform.
Registe-se agoraEste browser já não é suportado.
Atualize para o Microsoft Edge para tirar partido das mais recentes funcionalidades, atualizações de segurança e de suporte técnico.
Os componentes da solução dependem frequentemente de outros componentes da solução. Não é possível eliminar qualquer componente da solução que tiver dependências de outro componente da solução. As dependências são registos criados automaticamente pela estrutura de soluções para evitar que os componentes necessários sejam eliminados, enquanto um ou mais componentes dependentes ainda incluem referências a eles. Um exemplo de dependência é o seguinte: dado que é necessário um campo para um formulário funcionar, se alguma vez tentar executar uma ação que resultará na eliminação desse campo, o formulário deixará de funcionar.
Nota
Neste artigo, eliminar significa que o componente é totalmente removido do sistema.
Neste artigo, vamos discutir como lidar com estas dependências e as estratégias que pode utilizar para remover dependências que já não precisa.
Primeiro, é importante compreender que as dependências só impedem as operações que irão eliminar um componente necessário. As ações que podem eliminar um componente são diferentes, consoante é não gerido ou gerido.
Estes componentes são representados por uma única camada na solução ativa. Qualquer operação Eliminar neste componente resulta na remoção completa do componente.
A eliminação de componentes geridos depende de múltiplos fatores: o número de camadas de solução, a posição relativa da camada que está a ser desinstalada e os fabricantes de componentes. Por exemplo, quando um componente é eliminado, considere os seguintes cenários e qual será o comportamento esperado quando desinstalar as várias camadas.
Os seguintes cenários de exemplo ilustram o que acontece às camadas de solução quando as soluções são desinstaladas.
Desinstalar a Solução 1 causa uma eliminação de componentes porque é a única camada para o componente.
O comando Mostrar dependências lista as dependências para a solução ou componente da solução selecionado. Pode ser invocado ao:
Na página Dependências, pode abrir, remover ou eliminar o componente. Mais informações: Ver dependências de um componente
Vamos considerar o seguinte cenário. A organização abaixo tem duas soluções: Solução - Fluxo de Trabalho e Solução - Entidade Personalizada.
O proprietário da organização decidiu que já não precisa da Solução - Entidade Personalizada, tentou eliminá-la e foi-lhe apresentada a seguinte página:
Sem entrar em detalhes, podemos concluir que a desinstalação da solução está a tentar eliminar uma entidade denominada Entidade Personalizada e três campos – Entidade Personalizada, Nome e Campo Numérico – e todos os quatro componentes têm dependências.
Nota
Desinstalar a solução pode potencialmente eliminar mais componentes, mas como não têm dependências, não aparecerão na lista.
O próximo passo consiste em verificar a ligação Camadas de Solução (coluna mais à direita) para cada dependência. Isto vai ajudá-lo a decidir o que fazer para remover a dependência.
A imagem seguinte mostra os detalhes da dependência entre a Entidade (Entidade Personalizada) e o Processo (Fluxo de Trabalho de Teste).
Baseado nos dados apresentados, pode ver que o componente dependente pertence a uma solução denominada SolutionWorkflow. Para remover esta dependência, podemos:
Como qualquer componente dependente individual pode impedir a remoção da solução, recomendamos que verifique todas as dependências e que faça todas as alterações necessárias numa única operação.
A imagem seguinte mostra os detalhes da dependência entre a Entidade (Entidade Personalizada) e uma Aplicação condicionada por modelo (A Minha Aplicação).
Baseado nos dados apresentados, pode ver que o componente dependente pertence a uma solução denominada Active. Isto indica que a dependência foi criada ao importar uma solução não gerida ou através de uma personalização não gerida que foi executada através da API ou IU moderna.
Para remover esta dependência, pode:
Nota
Desinstalar uma solução não gerida não é uma opção para remover esta dependência, porque as soluções não geridas são apenas uma forma de agrupar componentes.
As dependências geridas são aquelas em que o componente dependente está associado a uma solução gerida. Para resolver este tipo de dependência, tem de agir na solução em que o componente foi adicionado. Essa ação pode ser diferente consoante aquilo que está a tentar fazer.
Se estiver a tentar desinstalar uma solução
Siga estes passos:
Se você estiver a tentar atualizar uma solução
Neste caso, tem de confirmar que pretendia eliminar o componente necessário (lembre-se que as dependências são impostas apenas nos componentes que estão a ser eliminados).
Se não queria eliminar o componente, pode corrigir a nova versão da solução ao adicionar o componente de volta, fazendo o seguinte:
Se a eliminação for intencional, tem de remover a dependência. Experimente os passos descritos na secção anterior: "Se está a tentar desinstalar uma solução".
Os componentes dependentes podem ser colocados em camadas, pelo que pode ter de alterar mais de uma solução para remover totalmente uma dependência. O quadro de dependências calcula apenas as dependências entre as camadas superiores para os componentes necessários e dependentes. Isto significa que precisa de avançar de cima para baixo nas soluções do componente dependente.
Considere o seguinte cenário de exemplo:
Experimente desinstalar a Solução - Entidade Personalizada e a operação é bloqueada por dependências.
Comece a diagnosticar a dependência ao selecionar Camadas de Solução no atributo new_numberfield. Verá o seguinte ecrã:
Como as dependências são criadas apenas entre as camadas superiores de cada componente, o primeiro passo é lidar com a dependência entre o atributo new_numberfield em SolutionCustomEntity e o fluxo de trabalho Fluxo de Trabalho de Teste em SolutionWorkflow3.
Para remover a dependência, decide desinstalar SolutionWorkflow3. Faça-o, mas quando tenta desinstalar a solução mais uma vez, é-lhe apresentada pela mesma página de dependências:
No entanto, o atributo new_numberfield já não é listado, mesmo que existisse em mais camadas.
Para remover as dependências não geridas, é necessário agir diretamente nos componentes, não nas soluções a que pertencem. Por exemplo, se pretende remover as dependências entre um atributo e um formulário, tem de editá-lo no Editor de Formulários e remover o atributo do formulário. A dependência será removida depois de selecionar Guardar e Publicar.
Nota
Para ver as dependências de um componente, a partir da área Soluções, abra a solução pretendida, selecione as reticências verticais junto do componente e, em seguida, selecione Avançadas>Mostrar dependências.
A página de dependências tem duas partes distintas:
evento
Conferência de Devs Poderosos e Hack Together
12/02, 23 - 28/02, 23
Junte-se à conferência online e ao hackathon de 2 semanas para explorar a construção de soluções poderosas com a Power Platform.
Registe-se agoraFormação
Percurso de aprendizagem
Arquiteto de Soluções: projetar soluções do Microsoft Power Platform - Training
Aprenda como um arquiteto de soluções projeta soluções.
Certificação
Microsoft Certified: Power Platform Developer Associate - Certifications
Demonstre como simplificar, automatizar e transformar tarefas e processos de negócios usando o Microsoft Power Platform Developer.