Compartilhar via


Visão geral do trabalho com soluções

Este tópico se aplica a Dynamics 365 Customer Engagement (on-premises). Para a versão Power Apps deste tópico, consulte: Visão geral das soluções

No Dynamics 365 Customer Engagement (on-premises), as soluções são aproveitadas para transportar aplicativos e componentes de uma organização para outra ou para aplicar um conjunto de personalizações a aplicativos existentes. Uma solução pode conter um ou mais aplicativos, assim como outros componentes, como mapas de site, entidades, processos, recursos da Web, conjuntos de opções e muito mais. Você pode obter soluções do AppSource ou de um fornecedor de software independente (ISV). Uma solução é um arquivo que você pode importar para um ambiente, como um aplicativo, ou aplicar um conjunto de personalizações existentes em um aplicativo.

Mais informações: Whitepaper: Padrões e princípios para Construtores de Soluções

Se você for um ISV criando um aplicativo que será distribuído, precisará usar soluções. Para obter mais informações sobre o uso de soluções, consulte Empacote e distribua extensões usando soluções.

Componentes de solução

Um componente da solução representa algo que você pode personalizar. Qualquer coisa que possa ser incluída em uma solução é um componente da solução. Para visualizar os componentes incluídos em uma solução, no gerenciador de soluções, vá para Configurações>Soluções e abra a solução desejada. Os componentes estão listados na lista Componentes.

A maioria dos componentes da solução são aninhados em outros componentes de solução. Por exemplo, uma entidade contém formulários, exibições, gráficos, campos, relacionamentos de entidades, mensagens e regras de negócios. Cada um dos componentes de solução exige uma entidade existente. Um campo não pode existir fora de uma entidade. Dizemos que o campo depende da entidade. Há realmente o dobro de tipos de componentes da solução, conforme mostrado na lista anterior, mas a maioria deles não são visíveis no aplicativo.

A finalidade de ter componentes da solução é controlar as limitações do que pode ser personalizado usando as Propriedades gerenciadas e todas as Dependências de solução para que possa ser exportado, importado e excluído (em soluções gerenciadas) sem deixar nada para atrás.

Soluções gerenciadas e não gerenciadas

Uma solução gerenciada pode ser desinstalada depois de ser importada. Todos os componentes dessa solução são excluídos com a desinstalação da solução.

Ao importar uma solução não gerenciada, você adiciona todos os componentes dessa solução na solução padrão. Não é possível excluir os componentes desinstalando a solução.

Ao importar uma solução não gerenciada que contém os componentes da solução que você já personalizou, suas personalizações serão substituídas pelas personalizações na solução não gerenciada. Não é possível desfazer isso.

Importante

Instale uma solução não gerenciada somente se desejar adicionar todos os componentes à sua solução padrão e substituir todas as personalizações existentes.

Se você não pretende distribuir sua solução, convém criar e usar uma solução não gerenciada para ter uma exibição separada que inclui somente as partes do aplicativo personalizadas. Sempre que você personalizar algo, basta adicionar em uma solução não gerenciada criada.

Para criar uma solução gerenciada, você seleciona a opção da solução gerenciada ao exportar a solução. Se você criar uma solução gerenciada, não é possível importar de volta para a mesma organização que você usou para criá-la. Você só pode importá-la em uma organização diferente.

Como as soluções são aplicadas

Todas soluções são avaliadas como camadas para determinar o que seu aplicativo realmente fará. O diagrama a seguir mostra como as soluções gerenciadas e não gerenciadas são avaliadas e como as alterações nelas serão exibidas na organização.

Solução em camadas.

Começando da parte inferior até a parte superior:

Solução de Sistema
A solução do sistema é como uma solução gerenciada que todas as organizações têm. A solução do sistema é a definição de todos os componentes detalhados no sistema.

Soluções Gerenciadas
As soluções gerenciadas podem modificar os componentes de solução do sistema e adicionar novos componentes. Se houver várias soluções gerenciadas instaladas, a primeira instalado está abaixo da solução gerenciada instalada posteriormente. Isso significa que a segunda solução instalada poderá personalizar aquela instalada antes dela. Quando duas soluções gerenciadas têm definições conflitantes, a regra geral é "a última vence". Se você desinstalar um solução gerenciada, o solução gerenciada abaixo dele entrará em vigor. Se você desinstalar todas as soluções gerenciadas, o comportamento padrão definido na solução do sistema será aplicado.

Personalizações não gerenciadas
Personalizações não gerenciadas são qualquer alteração realizada na sua organização por meio de uma solução não gerenciada. A solução do sistema define o que você pode ou não personalizar usando as Propriedades gerenciadas. Os fornecedores de soluções gerenciadas têm a mesma capacidade de limitar sua capacidade de personalizar componentes da solução adicionados em sua solução. Você pode personalizar qualquer componente de solução que não tiver propriedades gerenciadas que impedem a personalização.

Comportamento do Aplicativo
Isso é o que você realmente vê na sua organização. A solução padrão do sistema mais qualquer solução gerenciada, mais qualquer personalização não gerenciadas aplicada.

Propriedades gerenciadas

Alguns componentes não podem ser personalizados. Esses componentes na solução do sistema incluem metadados que impedem a personalização. Eles são chamados propriedades gerenciadas. O fornecedor de uma solução gerenciada também pode definir as propriedades gerenciadas para evitar que você personalize a solução de uma forma não desejada.

Dependências de solução

Devido ao modo como as soluções gerenciadas são sobrepostas, algumas soluções gerenciadas podem depender de componentes da solução em outras soluções gerenciadas. Alguns fornecedores de solução irão se aproveitar disso para criar soluções modulares. Talvez seja necessário primeiro instalar uma solução gerenciada “base” e, depois, instalar uma segunda solução gerenciada que personalizará ainda mais os componentes na solução gerenciada base. A segunda solução gerenciada depende dos componentes de solução que fazem parte da primeira solução.

O sistema controla essas dependências entre soluções. Se você tentar instalar uma solução que exige uma solução base que não esteja instalada, não poderá instalar a solução. Você receberá uma mensagem informando que a solução exige a instalação de outra solução primeiro. Da mesma forma, devido às dependências, não é possível desinstalar a solução base enquanto uma solução que dependa dela ainda estiver instalada. É necessário desinstalar a solução dependente antes de desinstalar a solução base.

Veja também

Introdução à personalização
Privilégios que você precisa para personalização