Migliora le prestazioni, la stabilità e l'affidabilità dei componenti con la verifica della soluzione

Per soddisfare requisiti aziendali complessi, i creatori possono spesso ritrovarsi con soluzioni altamente avanzate che personalizzano ed estendono la piattaforma Microsoft Dataverse. L'utilizzo di implementazioni avanzate implica un rischio accresciuto di problemi relativi a prestazioni, stabilità e affidabilità, che possono influire negativamente sull'esperienza dell'utente. L'identificazione e la comprensione della risoluzione di questi problemi possono risultare complesse e richiedere molto tempo. Con la funzionalità verifica soluzione, è possibile eseguire un controllo di analisi statica completo delle soluzioni rispetto a un set di regole di procedure consigliate e individuare rapidamente gli schemi problematici. Dopo il completamento della verifica, riceverai un report dettagliato che elenca i problemi identificati, i componenti e il codice interessato nonché collegamenti alla documentazione che descrive il modo in cui risolvere i problemi.

La verifica soluzione analizza questi componenti di soluzione:

  • Attività flusso di lavoro personalizzate di Dataverse
  • Risorse Web di Dataverse (HTML e JavaScript)
  • Configurazioni Dataverse, come passaggi di messaggi SDK
  • Flussi Power Automate (tramite la verifica flusso)
  • Espressioni Power Fx (tramite la verifica app)

La verifica soluzione utilizza soluzioni non gestite che è possibile esportare da un ambiente.

Nota

  • In questo argomento viene illustrato come eseguire la verifica della soluzione dal portale per gli autori di Power Apps. Un modulo di PowerShell è inoltre disponibile e utilizzabile per interagire direttamente con il servizio. Il modulo Microsoft.PowerApps.Checker.PowerShell può essere utilizzato per l'analisi delle soluzioni non gestite per gli ambienti Power Apps o per automatizzare e integrare il servizio nelle pipeline di creazione e rilascio. Altre informazioni: Panoramica di Microsoft.PowerApps.Checker.PowerShell
  • Il controllo della soluzione supporta le variabili globali per la sintassi ECMAScript 2015 (ES6) e fino a ECMAScript 2018 (ES9). Quando JavaScript viene rilevato utilizzando variabili globali successive a ES6 o una sintassi successiva a ES9, viene segnalato un problema di sintassi Web non supportata per la risorsa Web.
  • L'utilizzo della verifica soluzione non garantisce che l'importazione di una soluzione avrà esito positivo. I controlli di analisi statica eseguiti sulla soluzione non conoscono lo stato configurato dell'ambiente di destinazione e il successo dell'importazione può dipendere da altre soluzioni o configurazioni nell'ambiente.

Eseguire la verifica soluzione

  1. Accedi a Power Apps.

  2. Nel riquadro sinistro seleziona Soluzioni. Se l'elemento non si trova nel riquadro del pannello laterale, seleziona …Altro, quindi l'elemento desiderato.

  3. Accanto alla soluzione non gestita che intendi analizzare, seleziona ..., punta a Verifica soluzione e quindi seleziona Esegui.

    Eseguire il comando della verifica soluzione.

  4. Il pulsante di comando Verifica soluzione ha un indicatore di caricamento e visualizzerai In esecuzione... nella colonna Verifica soluzione dell'elenco Soluzione.

    Stato della verifica soluzione.

    Nota quanto segue:

    • L'analisi della verifica soluzione può richiedere alcuni minuti.

    • Al termine della verifica, riceverai una notifica tramite posta elettronica e una notifica nell'area Notifiche del sito di Power Apps.

  5. Visualizza il report al termine della verifica.

Annullare una verifica

Dopo l'avvio di una verifica delle soluzioni nell'ambiente in uso, puoi annullare la verifica nel riquadro dello stato nella parte superiore destra della pagina Soluzioni.

Quando annulli una verifica, l'esecuzione della verifica soluzione viene arrestata e lo stato ritorna allo stato precedente.

Stati della verifica soluzione

Quando installi la verifica soluzione nell'ambiente in uso, la colonna Verifica soluzione diventa disponibile nell'elenco Soluzioni. Questa colonna visualizza gli stati di analisi per una soluzione.

Stato Descrizione
Non eseguita La soluzione non è mai stata analizzata.
In esecuzione La soluzione è in fase di analisi.
Non completata L'analisi della soluzione è stata richiesta ma non è stata completata correttamente.
Risultati al data e ora L'analisi della soluzione è stata completata e i risultati sono disponibili per il download.
Non completata. Risultati al data e ora L'ultima richiesta di analisi non è stata completata correttamente. Gli ultimi risultati corretti possono essere scaricati.
Verificata da Microsoft Una soluzione gestita da Microsoft. L'analisi della soluzione non è autorizzata per queste soluzioni.
Verificata dall'autore Una soluzione gestita da terze parti. L'analisi della soluzione non è attualmente disponibile per queste soluzioni.

Esaminare il report della verifica soluzione

Al termine di una verifica, puoi visualizzare il report di analisi nel portale o puoi scaricare il report dal Web browser. Nel portale, sono disponibili opzioni per ordinare i risultati per Problema, Posizione o Gravità e per visualizzare informazioni dettagliate sui problemi rilevati nella soluzione.

  1. Nel riquadro sinistro seleziona Soluzioni. Se l'elemento non si trova nel riquadro del pannello laterale, seleziona …Altro, quindi l'elemento desiderato.

  2. Accanto alla soluzione non gestita in cui si intende visualizzare il report della verifica soluzione, seleziona ..., punta a Verifica soluzione e quindi seleziona Visualizza risultati.

  3. Seleziona un problema per visualizzare i dettagli sullo stesso e le linee guida su come risolverlo.

    Risultati nella vista di verifica soluzione.

I risultati di verifica soluzione possono anche essere scaricati. Il file zip della verifica soluzione viene scaricati nella cartella specificata dal Web browser. Il report del download è in formato Excel e contiene varie visualizzazioni e colonne che ti consentono di identificare l'impatto, il tipo e il percorso di ogni problema rilevato nella soluzione. È inoltre fornito un collegamento a istruzioni dettagliate su come risolvere il problema.

  1. Nel riquadro sinistro seleziona Soluzioni. Se l'elemento non si trova nel riquadro del pannello laterale, seleziona …Altro, quindi l'elemento desiderato.
  2. Accanto alla soluzione non gestita in cui si intende scaricare il report della verifica soluzione, seleziona ..., punta a Verifica soluzione e quindi seleziona Scarica risultati.
  3. Il file zip della verifica soluzione viene scaricati nella cartella specificata dal Web browser.

Di seguito è riportato un riepilogo di ogni colonna del report.

Colonna di report Descrizione Si applica al componente
Problema Il titolo del problema identificato nella soluzione. Tutti
Categorie La categorizzazione del problema identificato, ad esempio Prestazioni, Manutenibilità, Utilizzo, Supporto, Progettazione, Sicurezza, Accessibilità o Preparazione aggiornamenti. Tutte le date
Gravità Rappresenta l'impatto potenziale del problema identificato. I tipi di impatto disponibili sono Critico, Elevato, Medio, Basso e Informativo. Tutte le date
Linee guida Collegamento all'articolo che descrive in modo dettagliato il problema, l'impatto e le azioni risolutive. Tutti
Componente Il componente di soluzione in cui il problema è stato identificato. Tutti
Località Il percorso e/o il file di origine del componente in cui si è verificato il problema identificato, ad esempio l'assembly o il nome di file JavaScript. Tutti
Riga # Il riferimento al numero di riga del problema nel componente della risorsa Web interessata. Risorse Web
Modulo Il nome del modulo in cui è stato rilevato il problema identificato nell'assembly. Attività personalizzata dei flussi di lavoro
Type Il tipo di problema identificato nell'assembly. Attività personalizzata dei flussi di lavoro
Membro Il membro del problema identificato nell'assembly. Attività personalizzata dei flussi di lavoro
Istruzione L'istruzione o la configurazione del codice che ha causato il problema. Tutti
Commenti I dettagli sul problema tra cui procedure di risoluzione. Tutte le date

Eseguire le regole di verifica della soluzione in locale

È possibile eseguire le regole di verifica della soluzione nell'ambiente di sviluppo per rilevare i problemi molto prima durante la creazione delle risorse della soluzione. Questo è attualmente supportato per le risorse Web (JavaScript e TypeScript). Per maggiori dettagli, vai all'Hub di risorse NPM @microsoft/eslint-plugin-power-apps.

Regole di procedure consigliate utilizzate dalla verifica soluzione

La tabella seguente elenca il tipo di componente, la descrizione della regola, la gravità e la categoria. Le violazioni critiche vengono bloccate o avvertite quando configurate per l'applicazione della verifica delle soluzioni con ambienti gestiti. Ulteriori informazioni: Utilizzare la verifica della soluzione negli ambienti gestiti

Componente di soluzione Nome regola Descrizione regola Gravità Categoria
Plug-in o attività del flusso di lavoro meta-remove-dup-reg Evitare le registrazioni duplicate del plug-in Dataverse. Critico Prestazioni
Plug-in o attività del flusso di lavoro meta-avoid-reg-no-attribute Includere gli attributi di filtro con le registrazioni del plug-in Dataverse. Medio Prestazioni
Plug-in o attività del flusso di lavoro meta-avoid-reg-retrieve Prestare attenzione con i plug-in Dataverse registrati per i messaggi Retrieve e RetrieveMultiple. Medio Prestazioni
Plug-in o attività del flusso di lavoro meta-remove-inactive Rimuovere le configurazioni inattive in Dataverse. Minimo Manutenibilità
Plug-in o attività del flusso di lavoro meta-avoid-crm4-event Non utilizzare la fase di registrazione del plug-in Microsoft Dynamics CRM 4.0. Medio Preparazione aggiornamenti
Plug-in o attività del flusso di lavoro meta-avoid-retrievemultiple-annotation Evita la registrazione di un plug-in su RetrieveMultiple di annotazione. Alto Utilizzo
App basata su modello meta-license-sales-entity-operations La soluzione contiene entità con messaggi SDK limitati che richiedono una licenza Dynamics 365 valida. Basso Licenze
App basata su modello meta-license-fieldservice-customcontrols La soluzione contiene controlli personalizzati che richiedono una licenza Dynamics 365 Field Service valida. Basso Licenze
App basata su modello meta-license-fieldservice-entity-operations La soluzione contiene entità con operazioni e messaggi SDK limitati che richiedono una licenza Dynamics 365 Field Service valida. Basso Licenze
Risorse Web use-async Interagisci con le risorse HTTPS e HTTP in modo asincrono. Critico Prestazioni
Risorse Web avoid-modals Evita di utilizzare finestre di dialogo modali. Massimo Supportabilità
Risorse Web avoid-dom-form Massimo Supportabilità
Risorse Web avoid-dom-form-event Massimo Supportabilità
Risorse Web avoid-crm2011-service-odata Non utilizzare l'endpoint Microsoft Dynamics CRM 2011 OData 2.0 come destinazione. Critico Preparazione aggiornamenti
Risorse Web avoid-crm2011-service-soap Non utilizzare i servizi SOAP di Microsoft Dynamics CRM 2011 come destinazione. Critico Preparazione aggiornamenti
Risorse Web avoid-loadtheme Non utilizzare l'API loadTheme Fluent v8. Minimo Supportabilità
Risorse Web avoid-browser-specific-api Non utilizzare le API legacy di Internet Explorer o i plug-in del browser. Critico Preparazione aggiornamenti
Risorse Web avoid-unpub-api Massimo Supportabilità
Risorse Web avoid-window-top Massimo Supportabilità
Risorse Web avoid-2011-api Non utilizzare il modello a oggetti deprecato di Microsoft Dynamics CRM 2011. Segui invece la documentazione sull'API Web Dataverse. Massimo Preparazione aggiornamenti
Risorse Web use-relative-uri Non utilizzare URL di endpoint Dataverse per app assoluti. Medio Manutenibilità
Risorse Web use-cached-webresource Medio Prestazioni
Risorse Web use-client-context Utilizza contesti cliente. Medio Preparazione aggiornamenti
Risorse Web use-navigation-api Usa i parametri dell API per l'esplorazione. Medio Preparazione aggiornamenti
Risorse Web use-offline Medio Preparazione aggiornamenti
Risorse Web do-not-make-parent-assumption Massimo Progettazione
Risorse Web use-org-setting Utilizza le impostazioni dell'organizzazione. Medio Preparazione aggiornamenti
Risorse Web use-global-context Medio Preparazione aggiornamenti
Risorse Web use-grid-api Utilizza le API di griglia. Medio Preparazione aggiornamenti
Risorse Web use-utility-dialogs Medio Utilizzo
Risorse Web avoid-isActivityType Sostituisci il metodo Xrm.Utility.isActivityType con il nuovo Xrm.Utility.gettableMetadata e non utilizzarlo nelle regole della barra multifunzione. Medio Preparazione aggiornamenti
Risorse Web meta-avoid-silverlight L'utilizzo delle risorsa Web Silverlight è deprecato. Medio Preparazione aggiornamenti
Risorse Web remove-debug-script Evita di includere gli script di debug in ambienti non di sviluppo. Medio Utilizzo
Risorse Web use-strict-mode Utilizza la modalità rigida se possibile. Medio Utilizzo
Risorse Web use-strict-equality-operators Utilizza operatori di uguaglianza rigidi Medio Utilizzo
Risorse Web avoid-eval Non utilizzare la funzione "eval" o i relativi equivalenti funzionali. Critico Sicurezza
Risorse Web avoid-with Non utilizzare l'operatore "with". Massimo Prestazioni
Risorse Web remove-alert Non usare la funzione "alert" o i relativi equivalenti funzionali. Medio Utilizzo
Risorse Web remove-console Si consiglia di non utilizzare metodi sulla console. Medio Utilizzo
Risorse Web avoid-ui-refreshribbon Evita di utilizzare refreshRibbon nel modulo onload e EnableRule. Critico Prestazioni
Risorse Web use-getsecurityroleprivilegesinfo Evita userSettings.securityRolePrivileges. Utilizza invece userSettings.getSecurityRolePrivilegesInfo. Alto Prestazioni
Risorse Web use-appsidepane-api Utilizza Xrm.App.sidePanes.createPane invece di Xrm.Panels.loadPanel. Medio Preparazione aggiornamenti
Risorse Web web-sdl-no-cookies I cookie HTTP sono un vecchio meccanismo di archiviazione lato client con rischi e limitazioni intrinseche. Usa invece Web Storage, IndexedDB o altri metodi moderni. Medio Sicurezza
Risorse Web web-sdl-no-document-domain La scrittura sulla proprietà document.domain deve essere rivista per non ignorare i controlli della stessa origine. L'utilizzo di domini di primo livello come azurewebsites.net è severamente vietato. Medio Sicurezza
Risorse Web web-sdl-no-document-write Le chiamate a document.write o document.writeln gestiscono il DOM direttamente senza alcuna bonifica e dovrebbero essere evitate. Utilizzare invece document.createElement() o metodi simili. Medio Sicurezza
Risorse Web web-sdl-no-metodo-html Le chiamate dirette al metodo html() spesso (ad esempio nel framework jQuery) gestiscono il DOM senza alcuna bonifica e dovrebbero essere evitate. Utilizzare invece document.createElement() o metodi simili. Medio Sicurezza
Risorse Web web-sdl-no-inner-html Le assegnazioni a proprietà innerHTML o outerHTML gestiscono il DOM direttamente senza alcuna bonifica e dovrebbero essere evitate. Utilizzare invece document.createElement() o metodi simili. Medio Sicurezza
Risorse Web web-sdl-no-insecure-url I protocolli non sicuri come HTTP o FTP dovrebbero essere sostituiti dalle loro controparti crittografate (HTTPS, FTPS) per evitare l'invio di dati potenzialmente sensibili su reti non attendibili in chiaro. Medio Sicurezza
Risorse Web web-sdl-no-msapp-exec-unsafe Le chiamate a MSApp.execUnsafeLocalFunction() ignorano la convalida dell'inserimento di script e devono essere evitate. Medio Sicurezza
Risorse Web web-sdl-no-postmessage-star-origin Fornisci sempre un'origine di destinazione specifica, non * quando invii dati ad altre finestre utilizzando postMessage per evitare perdite di dati al di fuori del limite di attendibilità. Medio Sicurezza
Risorse Web web-sdl-no-winjs-html-unsafe Le chiamate a WinJS.Utilities.setInnerHTMLUnsafe() e metodi simili non eseguono alcuna convalida dell'input e dovrebbero essere evitate. Utilizza WinJS.Utilities.setInnerHTML() invece. Medio Sicurezza
Canvas App app-formula-issues-high Consulta le informazioni di riferimento sulle formule di Power Apps per ulteriori dettagli. Critico Progettazione
Canvas App app-formula-issues-medium Consulta le informazioni di riferimento sulle formule di Power Apps per ulteriori dettagli. Medio Progettazione
Canvas App app-formula-issues-low Consulta le informazioni di riferimento sulle formule di Power Apps per ulteriori dettagli. Minimo Progettazione
Canvas App app-use-delayoutput-text-input Utilizza il caricamento ritardato in alcuni scenari per migliorare le prestazioni. Medio Prestazioni
Canvas App app-reduce-screen-controls Limita il numero di controlli delle app per migliorare le prestazioni. Medio Prestazioni
Canvas App app-include-accessible-label Usa etichette esplicite per migliorare l'accessibilità delle app. Medio Accessibilità
Canvas App app-include-alternative-input Assicurati che tutti gli elementi interattivi siano accessibili agli input alternativi. Medio Accessibilità
Canvas App app-avoid-autostart Evita di utilizzare l'avvio automatico sui lettori all'interno di un'app. Medio Accessibilità

Vedi anche

Procedure consigliate e indicazioni per Dataverse
Procedure consigliate e indicazioni per le app basate sul modello
Problemi comuni e risoluzioni per Verifica soluzione

Nota

Puoi indicarci le tue preferenze di lingua per la documentazione? Partecipa a un breve sondaggio. (il sondaggio è in inglese)

Il sondaggio richiederà circa sette minuti. Non viene raccolto alcun dato personale (Informativa sulla privacy).