Usar o verificador de soluções para validar seus aplicativos controlados por modelos no Power Apps
Para atender a requisitos comerciais complexos, os criadores de aplicativos orientados a modelo geralmente podem chegar a soluções altamente avançadas que personalizam e estendem a plataforma do Microsoft Dataverse. Com implementações avançadas, há um risco maior em que problemas de desempenho, estabilidade e confiabilidade são introduzidos, o que pode interferir negativamente na experiência do usuário. Identificar e entender como resolver esses problemas pode ser complicado e demorado. Com o recurso verificador de soluções, é possível executar uma rica verificação de análise estática em suas soluções em relação a um conjunto de regras de práticas recomendadas e identificar rapidamente esses padrões problemáticos. Após concluir a verificação, você receberá um relatório detalhado que lista os problemas identificados, os componentes e o código afetados e links para a documentação que descreve como resolver cada problema.
Importante
A partir de março de 2022, o verificador de soluções não analisará plug-ins em soluções. As validações de plug-in estão sendo modernizadas e, eventualmente, se concentrarão no tempo de criação do plug-in nativo, o que ajudará você a detectar e corrigir problemas mais cedo.
O verificador de soluções analisa estes componentes da solução:
- Plug-ins do Dataverse
- Atividades de fluxo de trabalho personalizadas do Dataverse
- Dataverse para recursos da Web de aplicativos (HTML e JavaScript)
- Dataverse para configurações de aplicativos, como etapas das mensagens do SDK
O verificador de soluções funciona com soluções não gerenciadas que podem ser exportadas de um ambiente.
Observação
- Este tópico explica como executar o verificador de soluções no portal do criador do Power Apps. Um módulo do PowerShell também está disponível e pode ser usado para interagir diretamente com o serviço. O módulo Microsoft.PowerApps.Checker.PowerShell pode ser usado para analisar soluções não gerenciadas para ambientes do Power Apps ou automatizar e integrar o serviço aos seus pipelines de build e lançamento. Mais informações: Visão geral de Microsoft.PowerApps.Checker.PowerShell
- O verificador de solução é compatível com variáveis globais para a sintaxe ECMAScript 2015 (ES6) e até ECMAScript 2018 (ES9). Quando o JavaScript é detectado por meio de variáveis globais posteriores a ES6 ou sintaxe posterior a ES9, é relatado um problema de sintaxe sem suporte para o recurso da Web.
- O uso do verificador de solução não garante que a importação de uma solução será bem-sucedida. As verificações de análise estática realizadas com a solução não conhecem o estado configurado do ambiente de destino e o sucesso da importação pode depender de outras soluções ou configurações no ambiente.
Executar o verificador de soluções
Entre no Power Apps.
No painel esquerdo, selecione Soluções.
Do lado da solução não gerenciada que você deseja analisar, selecione ..., aponte para Verificador de soluções e selecione Executar.

O painel de status localizado no canto superior direito da página Soluções exibe Verificador de soluções em execução.

Observe o seguinte:
O verificador de soluções pode levar alguns minutos para concluir a análise.
Durante esse período, você notará um Em Execução… estado na coluna Verificação de soluções da lista Solução.
Você receberá uma notificação por email e uma notificação na área Notificações do site do Power Apps quando a verificação é concluída.
Exiba o relatório quando a verificação estiver concluída.
Cancelar uma verificação
Depois de apresentar uma verificação de soluções a seu ambiente, a verificação poderá ser cancelada por meio do painel de status na área superior direita da página Soluções.
Ao cancelar uma verificação, a verificação de soluções para de ser executada e o status da verificação de soluções retorna ao estado anterior.
Estados do verificador de soluções
Quando você instala o verificador de soluções em seu ambiente, a coluna Verificação de soluções fica disponível na lista Soluções. Essa coluna exibe os estados de análise da solução para uma solução.
| Estado | Descrição |
|---|---|
| Não foi executado | A solução nunca foi analisada. |
| Em Execução | A solução está sendo analisada. |
| Não foi possível concluir | A análise da solução foi solicitada, mas não foi concluída com sucesso. |
| Resultados a partir de data e hora | A análise da solução foi concluída, e os resultados estão disponíveis para download. |
| Não foi possível concluir. Resultado a partir de data e hora | A solicitação de análise mais recente não foi concluída com sucesso. Os resultados bem-sucedidos mais recentes podem ser baixados. |
| Verificado pela Microsoft | Esta é uma solução gerenciada pela Microsoft. A análise da solução não é permitida nessas soluções. |
| Verificado pelo Fornecedor | Esta é uma solução gerenciada por terceiros. Atualmente, a análise da solução não está disponível para essas soluções. |
Revisar o relatório do verificador de soluções
Quando uma verificação de solução for concluída, você poderá ver o relatório da análise no portal ou poderá baixar o relatório direto do navegador da Web. No portal, você tem as opções para filtrar, agrupar resultados por Problema, Local ou Gravidade e ver as informações detalhadas dos problemas detectados na solução.
No painel esquerdo, selecione Soluções.
Ao lado da solução não gerenciada onde você deseja ver o relatório do verificador da solução, selecione ..., aponte para Verificador da Solução e, em seguida, selecione Exibir resultados.
Selecione um Problema para ver os detalhes e as orientações sobre como resolvê-lo.

Os resultados da verificação da solução também estão disponíveis para download. O arquivo zip do verificador da solução é baixado para a pasta especificada por seu navegador da Web. O relatório baixado está no formato Excel e contém várias visualizações e colunas que ajudam você a identificar o impacto, o tipo e o local de cada problema detectado na solução. Também é fornecido um link para orientações detalhadas sobre como resolver o problema também.
- No painel esquerdo, selecione Soluções.
- Ao lado da solução não gerenciada onde você deseja baixar o relatório do verificador da solução, selecione ..., aponte para Verificador da Solução e, em seguida, selecione Baixar.
- O arquivo zip do verificador de soluções é baixado para a pasta especificada pelo seu navegador da Web.
Veja um resumo de cada coluna no relatório.
| Coluna de relatório | Descrição | Aplica-se ao componente |
|---|---|---|
| Emitir | O título do problema identificado na solução. | Tudo |
| Categoria | A categorização do problema identificado, como Desempenho, Uso ou Capacidade de Suporte. | Tudo |
| Gravidade | Representa o impacto potencial do problema identificado. Os tipos de impacto disponíveis são Alto, Médio, Baixo e Informativo. | Tudo |
| Diretrizes | Link para um artigo detalhando o problema, o impacto e a ação recomendada. | Tudo |
| Componente | O componente da solução em que o problema foi identificado. | Tudo |
| Location | O local e/ou arquivo de origem do componente em que o problema identificado ocorreu, como o nome do arquivo de assembly ou JavaScript. | Tudo |
| Linha # | A referência do número da linha do problema no componente de recurso da Web afetado. | Recursos da Web |
| Módulo | Nome do módulo em que foi detectado o problema identificado no assembly. | Atividade de plug-in ou fluxo de trabalho personalizado |
| Digite | Tipo do problema identificado no assembly. | Atividade de plug-in ou fluxo de trabalho personalizado |
| Membro | Membro do problema identificado no assembly. | Atividade de plug-in ou fluxo de trabalho personalizado |
| Declaração | A declaração de código ou configuração que resultou no problema. | Tudo |
| Comentários | Detalhes sobre o problema que incluem etapas de resolução de alto nível. | Tudo |
Regras de práticas recomendadas usadas pelo verificador de soluções
| Componente da solução | Nome da regra | Descrição da regra |
|---|---|---|
| Atividade de plug-in ou fluxo de trabalho | il-specify-column | Evite selecionar todas as colunas por meio de APIs de consulta do Dataverse. |
| Atividade de plug-in ou fluxo de trabalho | meta-remove-dup-reg | Evitar registros de plug-ins do Dataverse duplicados. |
| Atividade de plug-in ou fluxo de trabalho | il-turn-off-keepalive | Defina KeepAlive como false ao interagir com hosts externos em um plug-in do Dataverse. |
| Atividade de plug-in ou fluxo de trabalho | il-avoid-unpub-metadata | Evitar recuperar metadados do Dataverse não publicados. |
| Atividade de plug-in ou fluxo de trabalho | il-avoid-batch-plugin | Evite usar tipos de solicitação em lote nas atividades de fluxo de trabalho e plug-ins do Dataverse. |
| Atividade de plug-in ou fluxo de trabalho | meta-avoid-reg-no-attribute | Inclui filtragem de atributos com registros de plug-in do Dataverse. |
| Atividade de plug-in ou fluxo de trabalho | meta-avoid-reg-retrieve | Tenha cuidado com os plug-ins do Dataverse registrados para as mensagens Retrieve e RetrieveMultiple. |
| Atividade de plug-in ou fluxo de trabalho | meta-remove-inactive | Remover configurações inativas no Dataverse |
| Atividade de plug-in ou fluxo de trabalho | il-meta-avoid-crm2011-depr-message | Não use mensagens preteridas do Microsoft Dynamics CRM 2011. |
| Atividade de plug-in ou fluxo de trabalho | meta-avoid-crm4-event | Não use o estágio de registro do plug-in do Microsoft Dynamics CRM 4.0. |
| Atividade de plug-in ou fluxo de trabalho | il-avoid-specialized-update-ops | Não use solicitações de operação de atualização especializadas no Dataverse. |
| Atividade de plug-in ou fluxo de trabalho | il-use-autonumber-feature | Use o recurso de número automático em vez de uma solução personalizada de numeração automática. |
| Atividade de plug-in ou fluxo de trabalho | il-avoid-parallel-plugin | O uso de padrões paralelos deve ser evitado nos plug-ins. |
| Atividade de plug-in ou fluxo de trabalho | il-avoid-lock-plugin | Evite o bloqueio de membros estáticos em plug-ins. |
| Atividade de plug-in ou fluxo de trabalho | meta-avoid-retrievemultiple-annotation | Evite registrar um plugin em RetrieveMultiple de anotação. |
| Recursos da Web | web-use-async | Interaja com os recursos HTTP e HTTPS de forma assíncrona. |
| Recursos da Web | web-avoid-modals | Evite usar diálogos modais. |
| Recursos da Web | web-avoid-crm2011-service-odata | Não direcione o ponto de extremidade do Microsoft Dynamics CRM 2011 OData 2.0. |
| Recursos da Web | web-avoid-crm2011-service-soap | Não direcione os serviços do Microsoft Dynamics CRM 2011 SOAP. |
| Recursos da Web | web-avoid-browser-specific-api | Não use plug-ins de navegador ou APIs herdadas do Internet Explorer. |
| Recursos da Web | web-avoid-2011-api | Não use o modelo de objetos preterido do Microsoft Dynamics CRM 2011. |
| Recursos da Web | web-use-relative-uri | Não use URLs absolutos do ponto de extremidade do Dataverse. |
| Recursos da Web | web-use-client-context | Use contextos de cliente. |
| Recursos da Web | web-use-navigation-api | Use os parâmetros da API de navegação. |
| Recursos da Web | web-use-org-setting | Use configurações de organização. |
| Recursos da Web | web-use-grid-api | Use as APIs da grade. |
| Recursos da Web | web-avoid-isActivityType | Substitua o método Xrm.Utility.isActivityType pelo novo Xrm.Utility.gettableMetadata e não use nas regras da faixa de opções. |
| Recursos da Web | meta-avoid-silverlight | O uso de recursos da Web Silverlight é preterido. |
| Recursos da Web | web-remove-debug-script | Evite incluir o script de depuração em ambientes que não sejam de desenvolvimento. |
| Recursos da Web | web-use-strict-mode | Use o modo estrito quando possível. |
| Recursos da Web | web-use-strict-equality-operators | Use operadores de igualdade estritos. |
| Recursos da Web | web-avoid-eval | Não use a função "eval" ou seus equivalentes funcionais. |
| Recursos da Web | web-remove-alert | Não use a função 'alert' ou seus equivalentes funcionais. |
| Recursos da Web | web-remove-console | Evite usar métodos no console. |
| Recursos da Web | web-avoid-ui-refreshribbon | Evite usar refreshRibbon no onload de formulário e EnableRule. |
| Aplicativo de Tela | app-formula-issues-high | Veja as referências de fórmula do Power Apps para obter mais detalhes. |
| Aplicativo de Tela | app-formula-issues-medium | Veja as referências de fórmula do Power Apps para obter mais detalhes. |
| Aplicativo de Tela | app-formula-issues-low | Veja as referências de fórmula do Power Apps para obter mais detalhes. |
| Aplicativo de Tela | app-use-delayoutput-text-input | Use o carregamento atrasado em alguns cenários para melhorar o desempenho. |
| Aplicativo de Tela | app-reduce-screen-controls | Limite o número de controles de aplicativos para melhorar o desempenho. |
| Aplicativo de Tela | app-include-accessible-label | Use rótulos explícitos para melhorar a acessibilidade do aplicativo. |
| Aplicativo de Tela | app-include-alternative-input | Verifique se todos os elementos interativos são acessíveis a entradas alternativas. |
| Aplicativo de Tela | app-avoid-autostart | Evite usar a inicialização automática em jogadores dentro de um aplicativo. |
Consulte também
Melhores práticas e orientação para o Dataverse
Práticas recomendadas e orientações para aplicativos controlados por modelos
Problemas comuns e soluções do Verificador de Solução
Observação
Você pode nos falar mais sobre suas preferências de idioma para documentação? Faça uma pesquisa rápida. (Observe que esta pesquisa está em inglês)
A pesquisa levará cerca de sete minutos. Nenhum dado pessoal é coletado (política de privacidade).
Comentários
Enviar e exibir comentários de