Partilhar via


O erro "Falha na exclusão da solução" ocorre devido a dependências circulares entre duas soluções

Aplica-se a: Power Platform, Soluções

Este artigo fornece uma solução alternativa para um problema em que a exclusão de uma solução falha devido a dependências circulares entre duas soluções. Existem dependências circulares quando as duas soluções têm dependências em um componente da outra solução.

Dica

Para evitar dependências circulares entre as duas soluções, use ambientes diferentes para desenvolver soluções diferentes. O isolamento de ambientes é fundamental ao usar componentes como dados e tabelas.

Sintomas

Ao excluir (desinstalar) uma solução, você recebe o seguinte erro indicando que existe uma dependência em outra solução:

Falha ao excluir o nome> da solução da solução<. As dependências da solução existem, não é possível desinstalar.

O mesmo erro ocorre quando você tenta excluir a outra solução nomeada no erro ao excluir a primeira solução. Esta é uma dependência circular.

Motivo

Dependências circulares entre soluções podem acontecer devido à falta de isolamento do ambiente de desenvolvimento para diferentes soluções. Isso resulta em dependências de componentes não intencionais entre duas soluções sendo desenvolvidas no mesmo ambiente.

Solução alternativa

Para contornar as dependências circulares entre as duas soluções, primeiro você precisa entender as dependências entre diferentes soluções. Quando você encontrar erros indicando uma dependência circular, selecione o botão Exibir dependências na notificação.

As dependências mostram todos os componentes que dependem da solução que você está tentando desinstalar. Você pode selecionar cada componente na lista e selecionar Ver camadas de solução para localizar as soluções dependentes de onde o componente vem.

Exemplo

Por exemplo, a Solução A e a Solução B têm dependências uma da outra. Conforme mostrado no diagrama:

  • A solução A tem dois componentes, o Componente 1 e o Componente 2.
  • A solução B tem dois componentes, o Componente 3 e o Componente 4.
  • O Componente 2 da Solução A depende do Componente 3 da Solução B.
  • O Componente 4 da Solução B depende do Componente 1 da Solução A.
  • Você não pode excluir nenhuma das soluções devido às dependências circulares.

Exemplo de duas soluções com dependências entre si.

Atualizar para remover dependências

Para resolver as dependências circulares, trabalhe em uma das soluções envolvidas e atualize-a para remover a dependência da outra.

Opção 1
  1. Vá para o ambiente de origem da Solução A e edite o Componente 2 para remover a dependência do Componente 3.
  2. Exporte a Solução A como uma nova versão e atualize-a para o ambiente de destino.

Você tem permissão para excluir a Solução B agora, pois a Solução A não tem uma dependência da Solução B.

Exemplo de remoção da dependência da Solução B para a Solução A.

Opção 2
  1. Vá para o ambiente de origem da Solução B e edite o Componente 4 para remover a dependência do Componente 1.
  2. Exporte a Solução B como uma nova versão e atualize-a para o ambiente de destino.

Você tem permissão para excluir a Solução A agora, pois a Solução B não tem uma dependência da Solução A.

Exemplo de remoção da dependência da Solução A para a Solução B.

Alteração ativa para remover dependências

Se você quiser remover as dependências para poder excluir as soluções, remova as dependências na camada ativa e, em seguida, exclua a solução.

Opção 1

No ambiente de destino, edite o Componente 2 e remova a dependência do Componente 3 na camada ativa. A exclusão da Solução B é permitida agora. Depois que a Solução B for excluída, a Solução A também poderá ser excluída.

Opção 2

No ambiente de destino, edite o Componente 4 e remova a dependência do Componente 1 na camada ativa. A exclusão da Solução A é permitida agora. Depois que a Solução A for excluída, a Solução B também poderá ser excluída.