Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
Les solucions s'utilitzen per distribuir Power Platform objectes, com ara aplicacions, taules, fluxos, recursos web i connectors. En aquest article s'introdueix la característica de verificació de solucions, una eina potent que realitza una anàlisi estàtica completa dels objectes de la solució en funció d'un conjunt de regles de pràctiques recomanades. Mitjançant el verificador de solucions, podeu identificar ràpidament patrons problemàtics als vostres components i rebre informes detallats que destaquen els problemes, els components afectats i proporcionen enllaços a la documentació sobre com resoldre cada problema. Això garanteix que les vostres solucions estiguin optimitzades per al rendiment, l'estabilitat i la fiabilitat.
El verificador de solucions funciona amb solucions no administrades que es poden exportar des d'un entorn.
Podeu executar el verificador de solucions des de Power Apps (make.powerapps.com) o mitjançant PowerShell.
Com t'ajuda el verificador de solucions
Per satisfer els requisits empresarials complexos, els fabricants sovint poden acabar amb solucions altament avançades que personalitzen i amplien el Power Platform. Amb implementacions avançades, es augmenta el risc en què es presenten problemes de rendiment, estabilitat i fiabilitat, que poden afectar negativament l'experiència de l'usuari. Identificar i comprendre com resoldre aquests problemes pot ser complicat i comporta molt de temps. Amb la funció de verificació de solucions, podeu realitzar una comprovació en qüestió de segons a la vostra solució, que utilitza un conjunt de regles de pràctiques recomanades per identificar ràpidament patrons problemàtics. Un cop finalitzada la comprovació, rebeu un informe detallat i Power Apps un missatge de correu electrònic que enumera els problemes identificats, els components i el codi afectats, i enllaços a la documentació que descriu com resoldre cada problema.
El verificador de solucions analitza aquests components de la solució:
- Activitats de fluxos de treball personalitzats del Dataverse
- Recursos web d'aplicacions (HTML i JavaScript) del Dataverse
- Configuracions del Dataverse, com els passos del missatge de l'SDK
- Power Automate Fluxos (mitjançant Flow Checker)
- Power Fx Expressions (mitjançant el verificador d'aplicacions)
Nota
- El verificador de solucions admet variables globals per a la sintaxi ECMAScript 2015 (ES6) i fins a ECMAScript 2018 (ES9). Quan es detecta el JavaScript amb variables globals posteriors a ES6 o sintaxi posterior a ES9, s'informa d'un problema de sintaxi incompatible amb el web per al recurs web.
- L'ús del verificador de solucions no garanteix que la importació de la solució sigui correcta. Les comprovacions d'anàlisi estàtica realitzades a la solució no coneixen l'estat configurat de l'entorn de destinació i l'èxit de la importació pot dependre d'altres solucions o configuracions de l'entorn.
Executar el verificador de solucions
Inicieu sessió a Power Apps.
A la subfinestra esquerra, seleccioneu Solucions. Si l'element no és a la subfinestra del tauler lateral, seleccioneu ... Més i seleccioneu l'element que vulgueu.
Al costat de la solució no administrada que voleu analitzar, seleccioneu ..., seleccioneu Verificador de solucions i, a continuació, seleccioneu Executa.
El botó d'ordres del verificador de solucions té un indicador de càrrega i notareu un Running ... a la columna Comprovació de solucions de la llista de solucions .
Nota
- El verificador de solucions pot trigar uns quants minuts a completar l'anàlisi.
- Rebreu una notificació per correu electrònic i una notificació a l'àrea Notificacions del Power Apps lloc quan s'hagi completat la comprovació.
- Visualitza l'informe quan s'hagi completat la comprovació.
Cancel·lar una verificació
Després d'enviar una comprovació de solucions al vostre entorn, la comprovació es pot cancel·lar a través de la subfinestra d'estat de l'àrea superior dreta de la pàgina Solucions .
Quan cancel·leu una verificació, aquesta deixa de funcionar i torna a l'estat anterior.
Estats del verificador de solucions
Quan instal·leu el verificador de solucions al vostre entorn, la columna de comprovació de solucions està disponible a la llista de solucions . Aquesta columna mostra els estats de l'anàlisi per a una solució.
| Província o estat | Descripció |
|---|---|
| No s'ha executat | La solució no s'ha analitzat. |
| En execució | S'està analitzant la solució. |
| No s'ha pogut completar | L'anàlisi de la solució s'ha sol·licitat, però no s'ha completat correctament. |
| Resultats a data i hora | Anàlisi de la solució completat i els resultats estan disponibles per a la seva descàrrega. |
| No s'ha pogut completar. Resultat a partir de la data i l'hora | L'última sol·licitud d'anàlisi no s'ha completat correctament. Es poden descarregar els últims resultats correctes. |
| Verificada per Microsoft | Aquesta és la solució administrada per Microsoft. L'anàlisi no està permès en aquestes solucions. |
| Revisada per l'editor | Aquesta és una solució no administrada per Microsoft. Actualment, l'anàlisi de solucions no està disponible per aquestes solucions. |
Reviseu l'informe del verificador de solucions
Quan s'hagi completat una comprovació de la solució, podeu visualitzar l'informe anàlisi al portal o bé podeu baixar l'informe des del navegador web. Al portal, teniu opcions per ordenar els resultats per problema, ubicació o gravetat i visualitzar informació detallada dels problemes detectats a la vostra solució.
A la subfinestra esquerra, seleccioneu Solucions. Si l'element no és a la subfinestra del tauler lateral, seleccioneu ... Més i seleccioneu l'element que vulgueu.
Al costat de la solució no administrada on voleu visualitzar l'informe del verificador de solucions, seleccioneu ..., seleccioneu Verificador de solucions i, a continuació, seleccioneu Visualitza els resultats.
Seleccioneu un problema per veure els detalls i les instruccions sobre com resoldre'l.
Els resultats del verificador de solucions també estan disponibles per a la baixada. El fitxer zip del verificador de solucions es descarrega a la carpeta especificada pel vostre navegador web. L'informe de baixada està en format Excel i conté diverses visualitzacions i columnes que us ajuden a identificar l'impacte, el tipus i la ubicació de cada problema detectat a la vostra solució. També es proporciona un enllaç a una guia detallada sobre com resoldre el problema.
- A la subfinestra esquerra, seleccioneu Solucions. Si l'element no és a la subfinestra del tauler lateral, seleccioneu ... Més i seleccioneu l'element que vulgueu.
- Al costat de la solució no administrada on voleu baixar l'informe del verificador de solucions, seleccioneu ..., seleccioneu Verificador de solucions i, a continuació, seleccioneu Baixa resultats.
- El fitxer zip del verificador de solucions es descarrega a la carpeta especificada pel vostre navegador web.
A continuació es mostra un resum de cada columna de l'informe.
| Columna d'informe | Descripció | S'aplica al component |
|---|---|---|
| Problema | Títol del problema identificat a la solució. | Tot |
| Categoria | La categorització del problema identificat, com ara rendiment, manteniment, ús , compatibilitat , disseny , seguretat , accessibilitat opreparació per a l'actualització. | Tot |
| Gravetat | Representa l'impacte potencial del problema identificat. Els tipus d'impacte disponibles són Crític, Alt, Mitjà, Baix i Informatiu. | Tot |
| Orientació | Enllaç a l'article que detalla el problema, l'impacte i les accions recomanades. | Tot |
| soluci | El component de la solució on s'ha identificat el problema. | Tot |
| Location | La ubicació i/o el fitxer d'origen del component on es va produir el problema que s'ha identificat, com ara l'assemblatge o el nom del fitxer del JavaScript. | Tot |
| Núm. de línia | La referència del número de línia del problema en el component de recursos web afectat. | Recursos web |
| Mòdul | Nom del mòdul on es va detectar el problema identificat a l'assemblatge. | Activitat de flux de treball personalitzat |
| Type | Tipus del problema identificat a l'assemblatge. | Activitat de flux de treball personalitzat |
| Membre | Membre del problema identificat a l'assemblatge. | Activitat de flux de treball personalitzat |
| Declaració | La declaració o configuració del codi que ha donat lloc al problema. | Tot |
| Comentaris | Detalls sobre el problema que inclouen passos de resolució d'alt nivell. | Tot |
Executar regles del comprovador de solucions localment
Podeu executar regles del comprovador de solucions al vostre entorn de desenvolupament per detectar problemes molt més aviat quan creeu els recursos de la solució. Actualment s'admet amb recursos web (JavaScript i TypeScript). Per obtenir més detalls, aneu al paquet NPM@microsoft/eslint-plugin-power-apps.
Executar el verificador de solucions mitjançant el PowerShell
Hi ha disponible un mòdul de PowerShell que podeu utilitzar per interactuar directament amb el servei. El mòdul Microsoft..PowerApps.Checker.PowerShell es pot utilitzar per a l'anàlisi de solucions no administrades per a entorns del Power Apps, o per automatitzar i integrar el servei en les vostres compilacions i llançaments. Més informació: Microsoft.PowerApps. Visió general de Checker.PowerShell
Regles de les pràctiques recomanades que utilitza el verificador de solucions
A la taula següent s'enumeren el tipus de component, la descripció de la regla, la gravetat i la categoria. Les infraccions crítiques es bloquegen o s'adverteixen quan es configuren per a l'aplicació del verificador de solucions amb entorns administrats. Més informació: Utilitzar el verificador de solucions en entorns administrats
| Component de la solució | Nom de la regla | Descripció de la regla | Gravetat | Categoria |
|---|---|---|---|---|
| Complement o activitat de flux de treball | meta-eliminar-dup-reg | Eviteu els registres de complements del Dataverse duplicats. | Crític | Rendiment |
| Complement o activitat de flux de treball | meta-evitar-reg-no-atribut | Incloeu atributs de filtratge amb els registres de complements del Dataverse. | Mitjà | Rendiment |
| Complement o activitat de flux de treball | meta-evitar-reg-recuperar | Aneu amb compte amb els complements del Dataverse registrats per als missatges Retrieve i RetrieveMultiple. | Mitjà | Rendiment |
| Complement o activitat de flux de treball | meta-eliminar-inactiu | Suprimiu les configuracions inactives al Dataverse. | Baixa | Manteniment |
| Complement o activitat de flux de treball | meta-evitar-crm4-esdeveniment | No utilitzeu la fase de registre del complement del Microsoft Dynamics CRM 4.0. | Mitjà | Disponibilitat de l'actualització |
| Complement o activitat de flux de treball | meta-evitar-recuperaraa-múltiples-anotació | Eviteu el registre d'un connector a RetrieveMultiple d'anotació. | Alta | Ús |
| Aplicació basada en models | meta-llicència-vendes-entitat-operacions | La solució conté entitats amb missatges i operacions restringides de l'SDK que requereixen una llicència vàlida del Dynamics 365. | Baixa | Llicències |
| Aplicació basada en models | meta-llicència-campservice-customcontrols | La solució conté controls personalitzats que requereixen una llicència vàlida Dynamics 365 Field Service . | Baixa | Llicències |
| Aplicació basada en models | meta-llicència-camp-servei-entitat-operacions | La solució conté entitats amb missatges i operacions restringides de l'SDK que requereixen una llicència vàlida Dynamics 365 Field Service . | Baixa | Llicències |
| Recursos web | use-asíncron | Interactueu de forma asíncrona amb recursos HTTP i HTTPS. | Crític | Rendiment |
| Recursos web | evitar-modals | Eviteu utilitzar diàlegs modals. | Alta | Compatibilitat |
| Recursos web | evitar-la forma | Alta | Compatibilitat | |
| Recursos web | evitar-l'esdeveniment-forma | Alta | Compatibilitat | |
| Recursos web | avoid-crm2011-service-odata | No segmenteu l'extrem OData 2.0 del Microsoft Dynamics CRM 2011. | Crític | Disponibilitat de l'actualització |
| Recursos web | evitar-CRM2011-sabó-de-servei | No segmenteu els serveis SOAP del Microsoft Dynamics CRM 2011. | Crític | Disponibilitat de l'actualització |
| Recursos web | evitar-carregartemàtica | No utilitzeu loadTheme l'API Fluent v8. |
Baixa | Compatibilitat |
| Recursos web | evitar-l'api específica del navegador | No utilitzeu les API heretades o els complements del navegador de l'Internet Explorer. | Crític | Disponibilitat de l'actualització |
| Recursos web | evitar-unpub-api | Alta | Compatibilitat | |
| Recursos web | evitar-finestra-superior | Alta | Compatibilitat | |
| Recursos web | Avoid-2011-API | No utilitzeu el model d'objectes del Microsoft Dynamics CRM 2011 obsolet. En lloc d'això, seguiu la Dataverse documentació de l'API web. | Alta | Disponibilitat de l'actualització |
| Recursos web | use-relative-uri | No utilitzeu adreces URL d'extrem absolutes del Dataverse. | Mitjà | Manteniment |
| Recursos web | use-cached-webresource | Mitjà | Rendiment | |
| Recursos web | context-client-ús | Utilitzeu contextos de client. | Mitjà | Disponibilitat de l'actualització |
| Recursos web | utilitza-navigació-api | Utilitzeu els paràmetres de l'API de navegació. | Mitjà | Disponibilitat de l'actualització |
| Recursos web | Ús fora de línia | Mitjà | Disponibilitat de l'actualització | |
| Recursos web | no fer suposicions dels pares | Alta | Dissenyeu-ho | |
| Recursos web | configuració de l'organització d'ús | Utilitzeu la configuració d'organització. | Mitjà | Disponibilitat de l'actualització |
| Recursos web | context-global-ús | Mitjà | Disponibilitat de l'actualització | |
| Recursos web | utilitzar l'api de la graella | Utilitzeu les API de la xarxa. | Mitjà | Disponibilitat de l'actualització |
| Recursos web | diàlegs d'utilitat d'ús | Mitjà | Ús | |
| Recursos web | evitar-ésTipus d'activitat | Substituïu el mètode Xrm.Utility.isActivityType pel nou Xrm.Utility.gettableMetadata i no l'utilitzeu en regles de la franja. | Mitjà | Disponibilitat de l'actualització |
| Recursos web | meta-evitar-silverlight | L'ús del recurs de web del Silverlight es deixa d'utilitzar. | Mitjà | Disponibilitat de l'actualització |
| Recursos web | elimina-debug-script | Eviteu incloure l'script de depuració en entorns que no siguin de desenvolupament. | Mitjà | Ús |
| Recursos web | mode estricte d'ús | Utilitzeu el mode estricte quan sigui possible. | Mitjà | Ús |
| Recursos web | use-strict-equality-operators | Utilitzeu operadors d'igualtat estrictes. | Mitjà | Ús |
| Recursos web | evitar-avaluar | No utilitzeu la funció ni els eval seus equivalents funcionals. |
Crític | Seguretat |
| Recursos web | evitar-amb | No utilitzeu l'operador 'with'. | Alta | Rendiment |
| Recursos web | avís d'eliminació | No utilitzeu la funció "alert" ni els seus equivalents funcionals. | Mitjà | Ús |
| Recursos web | eliminar la consola | Eviteu utilitzar mètodes a la consola. | Mitjà | Ús |
| Recursos web | evitar-ui-refreshribbon | Eviteu utilitzar refreshRibon al formulari onload i EnableRule. | Crític | Rendiment |
| Recursos web | use-getsecurityroleprivilegesinfo | Eviteu userSettings.securityRolePrivileges. En el seu lloc, utilitzeu userSettings.getSecurityRolePrivilegesInfo. | Alta | Rendiment |
| Recursos web | use-appsidepane-api | Utilitzeu Xrm.App.sidePanes.createPane en lloc de Xrm.Panels.loadPanel. | Mitjà | Disponibilitat de l'actualització |
| Recursos web | web-sdl-no-cookies | Les cookies HTTP són un antic mecanisme d'emmagatzematge del costat del client amb riscos i limitacions inherents. Utilitzeu Web Storage, IndexedDB o altres mètodes moderns. | Mitjà | Seguretat |
| Recursos web | web-sdl-sense-domini-de-document | Les escriptures a la propietat document.domain s'han de revisar per evitar l'omissió de comprovacions del mateix origen. L'ús de dominis de primer nivell com azurewebsites.net està estrictament prohibit. | Mitjà | Seguretat |
| Recursos web | web-sdl-no-document-write | Les crides a document.write o document.writeln manipulen el DOM directament sense cap sanejament i s'han d'evitar. Utilitzeu document.createElement() o mètodes similars. | Mitjà | Seguretat |
| Recursos web | mètode-web-sdl-no-html | Les crides directes al mètode html() sovint (per exemple, en el marc jQuery) manipulen el DOM sense cap sanejament i s'han d'evitar. Utilitzeu document.createElement() o mètodes similars. | Mitjà | Seguretat |
| Recursos web | web-sdl-no-inner-html | Les assignacions a les propietats innerHTML o outerHTML manipulen el DOM directament sense cap sanejament i s'han d'evitar. Utilitzeu document.createElement() o mètodes similars. | Mitjà | Seguretat |
| Recursos web | web-sdl-no-insecure-url | Els protocols no segurs, com ara HTTP o FTP, s'haurien de substituir pels equivalents xifrats (HTTPS, FTPS) per evitar l'enviament de dades potencialment confidencials a través de xarxes que no són de confiança en text sense format. | Mitjà | Seguretat |
| Recursos web | web-sdl-no-msapp-exec-insegur | Les trucades a MSApp.execUnsafeLocalFunction() ometen la validació d'injecció de scripts i s'haurien d'evitar. | Mitjà | Seguretat |
| Recursos web | web-sdl-no-postmessage-star-origin | Proporcioneu sempre un origen de destinació específic, no * quan envieu dades a altres finestres mitjançant postMessage per evitar filtracions de dades fora del límit de confiança. | Mitjà | Seguretat |
| Recursos web | web-sdl-no-winjs-html-insegur | Les crides a WinJS.Utilities.setInnerHTMLUnsafe() i mètodes similars no realitzen cap validació d'entrada i s'han d'evitar. Utilitzeu WinJS.Utilities.setInnerHTML() en el seu lloc. | Mitjà | Seguretat |
| Aplicació de llenç | problemes-de-fórmula-de l'aplicació | Aneu a la referència Power Apps de fórmules per obtenir més detalls. | Crític | Dissenyeu-ho |
| Aplicació de llenç | fórmula-d'aplicació-problemes-mitjà | Consulteu les referències de fórmules del Power Apps per a més detalls. | Mitjà | Dissenyeu-ho |
| Aplicació de llenç | problemes-de-fórmula-de l'aplicació baixa | Consulteu les referències de fórmules del Power Apps per a més detalls. | Baixa | Dissenyeu-ho |
| Aplicació de llenç | app-use-delayoutput-text-input | Utilitzeu la càrrega retardada en alguns escenaris per millorar el rendiment. | Mitjà | Rendiment |
| Aplicació de llenç | controls-de-pantalla-reducció de l'aplicació | Limiteu el nombre de controls de l'aplicació per millorar el rendiment. | Mitjà | Rendiment |
| Aplicació de llenç | etiqueta d'aplicació inclou accessible | Utilitzeu etiquetes explícites per millorar l'accessibilitat de l'aplicació. | Mitjà | Accessibilitat |
| Aplicació de llenç | app-include-alternative-input | Assegureu-vos que tots els elements interactius siguin accessibles a les entrades alternatives. | Mitjà | Accessibilitat |
| Aplicació de llenç | app-avoid-autostart | Eviteu utilitzar l'inici automàtic en reproductors d'una aplicació. | Mitjà | Accessibilitat |
| Flux d'escriptori | desktopflow-evitar-contrasenya-insegura | Les contrasenyes es gestionen de manera insegura al flux. | Alta | Seguretat |
| Flux d'escriptori | desktopflow-evitar-subflux-recursivitat | S'han detectat crides recursives entre subfluxos, que poden provocar un bucle infinit. | Mitjà | Dissenyeu-ho |
| Flux d'escriptori | Flux d'escriptori-evitar-bucle infinit | S'ha detectat un bucle infinit al flux, que pot provocar que s'executi indefinidament. | Mitjà | Dissenyeu-ho |
| Flux d'escriptori | desktopflow-evitar-incomplet-si-branca | S'ha detectat una acció If incompleta, que no té contingut o que només conté accions a la branca Else. | Baixa | Dissenyeu-ho |
| Flux d'escriptori | Flux-d'escriptori-evitar-excessius-imbricats-ifs | Les clàusules Nested If superen els cinc nivells. | Baixa | Manteniment |
| Flux d'escriptori | desktopflow-evitar-buit-en-bloc-d'error | L'acció "En error de bloc" està buida i no gestiona errors. | Baixa | Dissenyeu-ho |
| Flux d'escriptori | desktopflow-limit-argument-count | El total de variables d'entrada/sortida supera el límit de 25 variables. | Baixa | Manteniment |
| Flux d'escriptori | desktopflow-input-argument-valor-predeterminat | Les variables d'entrada/sortida no utilitzen valors per defecte. | Baixa | Manteniment |
| Flux d'escriptori | desktopflow-limit-nom-variable-longitud | El nom de la variable supera el límit de 25 caràcters. | Baixa | Manteniment |
| Flux d'escriptori | desktopflow-evitar-accions-de-espera-excessiva | S'ha detectat un mal ús de les accions d'espera, amb més de 10 accions d'espera que provoquen possibles colls d'ampolla. | Baixa | Rendiment |
| Flux d'escriptori | desktopflow-evitar-immensa-durada-de-espera | S'ha detectat un temps d'espera immens, que supera el límit de 600 segons per a les accions d'espera codificades. | Baixa | Rendiment |
Consulteu també
Bones pràctiques i orientacions per a la Dataverse
Pràctiques recomanades i orientació per a aplicacions basades en models
Problemes comuns i resolucions de Solution Checker