解決方案檢查工具常見問題及解決方式
本文列出使用解決方案檢查工具時可能發生的一些常見問題。 在適用情況下,提供因應措施。
您無法使用解決方案檢查工具來執行分析或下載結果
提交要執行分析或下載結果的解決方案檢查工具要求之後不久,作業無法完成並顯示錯誤訊息,例如:
無法對方案名稱解決方案執行檢查。請再試著執行一次。
解決方案檢查工具會盡可能嘗試傳回明確的錯誤訊息,其中包含關於可能原因及解決方法的詳細資料連結。 選取了解詳細資訊以取得詳細資料。
進行分析背景處理時所發生的失敗在無法完成狀態中失敗,並在 Power Apps 入口網站中傳回錯誤訊息,以及將電子郵件通知傳送給要求者。
選取入口網站通知時,將會連結至此常見問題頁面,進一步進行疑難排解。 如果所提供的常見問題中有一個無法解決問題,也會傳回參考號碼。 請將此參考號碼提供給 Microsoft 支援服務,以便進一步調查。
解決方案檢查工具無法檢查預設解決方案
解決方案檢查工具會從 Microsoft Power Platform 環境匯出解決方案以進行分析。 不支援匯出預設解決方案,且檢查可能無法順利完成。 其他資訊:解決方案檢查工具無法匯出大型解決方案。
解決方案檢查工具失敗,因為不支援 Power Apps 檢查工具的版本
解決方案檢查工具是由 Power Apps 檢查工具應用程式所啟用的功能。 如果您安裝的 Power Apps 檢查工具應用程式版本早於 1.0.0.47 版,解決方案檢查工具的執行可能無法順利完成。 您應該從 Power Platform 系統管理中心升級 Power Apps 檢查工具版本。
不過,如果您已安裝早於 1.0.0.45 版的 Power Apps 檢查工具版本,建議您刪除解決方案並進行重新安裝。 由於最近的結構描述變更,從 1.0.0.45 版以前的版本升級 Power Apps Checker 可能會失敗。
如果您想要保留解決方案檢查工具過去產生的結果,請匯出先前執行的結果,或使用 匯出資料至 Excel 匯出所有解決方案檢查工具資料,以將資料從下列資料表匯出:
- 分析元件
- 分析作業
- 分析結果
- 分析結果詳細資料
如何解除安裝 Power Apps 檢查工具
若要解除安裝 Power Apps 檢查工具解決方案:
- 以系統管理員或系統自訂員的身分,前往 https://make.powerapps.com/environments 開啟 Power Apps 入口網站。
- 選取解決方案。
- 選取 Power Apps 檢查工具,然後在解決方案工具列上選取刪除。
如何安裝 Power Apps 檢查工具
若要將 Power Apps 檢查工具重新安裝回環境:
- 以系統管理員或系統自訂員的身分,前往 https://make.powerapps.com/environments 開啟您的 Power Apps 入口網站。
- 選取解決方案。
- 在解決方案工具列上選取 PowerApps 檢查工具,然後選取安裝。
解決方案檢查工具無法在管理模式下存取環境
已置於管理模式下的環境會特意限制只有具備系統管理員角色和系統自訂員角色的使用者才可以存取。 因為預設未指派上述任一角色給 Power Apps 檢查工具應用程式身分識別,它無法存取在此模式下運作的組織。
若要在此組織中使用解決方案檢查工具,必須停用管理模式。
如何停用管理模式
若要停用組織執行個體的管理模式:
開啟執行解決方案檢查程式的環境,然後選取編輯。
將管理模式設定為停用,然後選取儲存。
重新執行解決方案檢查工具。
解決方案檢查工具失敗,因為缺少資訊安全角色
解決方案檢查工具的應用程式使用者必須有下列指派的資訊安全角色,才能提供與 Dataverse 組織進行通訊所需的權限。 如果未將其中任何角色指派給使用者 Power Apps 檢查工具應用程式,則執行分析、下載結果和執行取消的嘗試將會失敗。 當使用者可從非預期使用者移除資訊安全角色的自動化準備就緒時,通常會發生這種情況。 下列資訊安全角色包含最低必要權限:
- 匯出自訂 (解決方案檢查工具)
- 服務寫入器
- 解決方案檢查工具
如何指派缺少的資訊安全角色
若要將缺少的資訊安全角色指派給 Power Apps 檢查工具應用程式使用者:
- 在 Power Platform 管理中心中 ,瀏覽到你的環境,然後瀏覽到使用者 > 應用程式使用者清單。
- 從使用者清單選取 Power Apps 檢查工具應用程式。
- 選取命令列上的編輯資訊安全角色。
- 選取上面列出之角色的核取方塊,然後選取儲存。
- 重新執行解決方案檢查工具。
解決方案檢查工具因為限制存取模式而失敗
解決方案檢查工具的應用程式使用者必須有非互動式或讀寫存取模式,才能與 Dataverse 組織進行通訊。 如果存取模式已變更為其他值 (例如系統管理),則執行分析、下載結果和執行取消的嘗試會失敗。
若要解決此問題,您必須以「非互動式」存取模式來更新 Power Apps 檢查工具應用程式使用者。
如何更新使用者存取模式
若要更新 Power Apps 檢查工具使用者的存取模式:
- 開啟 Dataverse 組織,並瀏覽至設定 > 安全性 > 使用者。
- 從使用者清單選取 Power Apps 檢查工具使用者,並按兩下以開啟使用者表單。
- 捲動至管理 > 表單的用戶端存取授權 (CAL) 資訊區段。
- 選取存取模式下拉式控制項中的非互動式。
- 儲存後關閉使用者表單。
- 重新執行解決方案檢查工具。
解決方案檢查工具失敗,因為應用程式使用者已停用
包含要分析之解決方案的 Dataverse 組織中的 Power Apps 檢查工具應用程式使用者必須已啟用。 如果應用程式使用者變成停用狀態,則對分析相同組織中解決方案的要求將會失敗。 如果收到此錯誤訊息,請先確認 Power Apps 檢查工具應用程式使用者是否確實已停用。 然後依照以下提供的風險降低步驟操作。
如何啟用 Power Apps 檢查工具應用程式使用者
- 在 Power Platform 系統管理中心,選取環境並移至設定 > 使用者 + 權限 > 使用者。
- 在應用程式使用者檢視表中,選取 Power Apps 檢查工具應用程式使用者旁的核取記號。
- 選取動作工具列上的啟用。
- 在確認使用者啟用訊息中選取啟用。
- 替代方法是開啟應用程式使用者表單,並選取表單頁尾中的中的已啟用狀態。 儲存變更。
解決方案檢查工具會維持在執行狀態 30 分鐘以上
如果經過分析的解決方案包含使用 .NET Standard 2.0 開發的外掛程式元件,則解決方案檢查工具可能會永久維持在執行狀態。 目前解決方案檢查工具不支援使用 .NET Standard 2.0 的外掛程式,且應將其排除在分析之外。 透過從目標解決方案中移除外掛程式元件,或使用 Power Apps 檢查工具 PowerShell 模組中的「ExcludedFileNamePattern」參數來排除外掛程式元件。
導致程式解決方案檢查工具失敗的常見外掛程式情況
解決方案檢查工具收到並處理分析要求時,它必須呼叫 Dataverse 端點來擷取/更新相關工作資料,並匯出選取的解決方案。 解決方案檢查工具服務與 Dataverse 進行的每次互動都可能會觸發一個或多個已於要求中提交之訊息上註冊的外掛程式步驟。 這些外掛程式可能會接著造成 Dataverse 無法如期正常處理訊息的情況,並中斷解決方案檢查工具處理所要求分析工作的功能。 下載解決方案檢查工具工作結果,或取消進行中分析工具時,可能會發生類似的情況。
解決方案檢查工具所要求的一般 Dataverse 作業:
- 擷取解決方案、
systemuser
,和組織表格資料 - 建立、更新和擷取分析工作、分析元件和分析結果資料表資料
- 匯出解決方案
已註冊在未授權使用者的上下文中執行的外掛程式步驟
解決方案檢查工具因「未授權的使用者」例外狀況而失敗時,這通常是由已觸發的外掛程式步驟所造成的,該外掛程式步驟是設定要在目前未授權之特定系統使用者的上下文中執行。 請確定任何可由解決方案檢查工具觸發的外掛程式步驟都會是在授權使用者的內容中執行。
重要
強烈建議將外掛程式步驟設定為在呼叫端使用者的內容中執行,而不是在所指派授權隨可能遭撤的特定使用者內容中執行。
外掛程式步驟會執行需要未授與 Power Apps 檢查工具應用程式使用者之權限的作業。
解決方案檢查工具因 Dataverse 基於缺少權限拒絕存取而失敗時,這通常是由已觸發的外掛程式步驟所造成的,此外掛程式步驟會執行需要目前未授與 Power Apps 檢查工具應用程式使用者之權限的作業。 將外掛程式步驟重新設定為不在解決方案檢查工具所叫用的作業上執行,或是授與 Power Apps 檢查工具應用程式使用者執行自訂外掛程式步驟所需的必要權限。
外掛程式步驟因擲回 InvalidPluginExecutionException 而意外中斷執行。
由於發生「ISV 程式碼中止作業」或「ISV 程式碼發生意外的錯誤」,解決方案檢查工具可能會失敗。 發生這種情況時,表示觸發了外掛程式步驟,送出 InvalidPluginExcecutionException 來明確地中斷執行,或未在外掛程式的程式碼中正確擷取錯誤。 將外掛程式步驟重新設定為不在解決方案檢查工具所叫用的作業上執行,或是將外掛程式實作調整成不會根據解決方案檢查工具所顯示的情況中斷執行。
由解決方案檢查工具所叫用的一般作業包括建立和更新。 這些作業可發生在下方資料表中: 分析工作、分析元件或分析結果。
解決方案檢查工具失敗,因為 Microsoft Entra 識別碼中的第一方應用程式已停用
不應在 Microsoft Entra 識別碼中停用解決方案檢查工具 (PowerApps-Advisor) 所使用的第一方企業應用程式身分識別。 如果停用,則在代表要求使用者向 Dataverse 及其他必要資源提供者要求持有人權杖時,該識別身分無法進行驗證。
請依照下列步驟,確認應用程式識別身分未在 Microsoft Entra 中被停用,並視需要啟用應用程式。
如何確認和/或修改應用程式的啟用狀態
若要確認和/或修改 PowerApps-Advisor 企業應用程式識別身分的啟用狀態
- 在 Microsoft Entra 入口網站中存取您的粗用戶。
- 瀏覽至企業應用程式。
- 選取所有應用程式,然後搜尋 PowerApps-Advisor。
- 選取 PowerApps-Advisor 以檢視應用程式詳細資料。
- 選取屬性。
- 檢查已針對要登入的使用者啟用的狀態。 如果狀態為否,表示應用程式已停用。
- 選取要將值切換為是的選項控制項。 這樣會啟用應用程式。
- 選取儲存。 應用程式現已啟用。 您可能需要等候幾分鐘,讓變更傳播。
- 重新執行解決方案檢查工具。
重要
您必須有 Microsoft Entra 識別碼 (Microsoft Entra 識別碼) 中的系統管理員權限,才能編輯企業應用程式。
解決方案檢查工具無法匯出包含草稿商務程序流程元件的解決方案
如果解決方案包含處於草稿狀態且先前未曾啟用的商務程序流程元件,則解決方案檢查工具將無法匯出解決方案以進行分析。 此錯誤不是解決方案檢查工具特有,並且是因為商務程序流程在支援 (自訂) 表格元件上有相依性而造成的,在第一次啟動商務程序流程之前,無法建立此元件。 如果商務程序流程是從 [方案總管] 中啟用,也會發生此問題。
如需問題及解決步驟的詳細資訊,請參閱知識庫文章 #4337537:匯出無效 – 商務程序資料表遺失。
解決方案檢查工具無法匯出含模型導向應用程式元件的解決方案
如果解決方案包含模型導向應用程式,解決方案檢查工具將無法匯出解決方案供分析。 此錯誤是由於共用應用程式的角色安全性所造成。 如果 Power Apps 檢查工具應用程式使用者沒有適當的模型導向應用程式存取權,則任何包含它們的解決方案都將無法順利使用解決方案檢查工具匯出。
若要解決此問題,請將環境建立者資訊安全角色授與 Power Apps 檢查器應用程式使用者。
解決方案檢查工具無法匯出修補過的解決方案
如果解決方案已套用修補程式,解決方案檢查工具將無法匯出解決方案供分析。 解決方案套用修補程式之後,原始解決方案會變成鎖定狀態,只要組織中有相依的修補程式可識別為解決方案的上層解決方案,就無法進行變更或匯出。
若要解決此問題,請再製解決方案,讓所有與解決方案相關的修補程式都歸入新建立的解決方案。 這樣就會解除鎖定解決方案,並允許從系統匯出該解決方案。 如需詳細資訊,請參閱再製解決方案。
解決方案檢查工具不會分析空白的解決方案
如果解決方案檢查工具匯出的解決方案不包含要分析的元件,則會終止進一步處理並將執行視為失敗。 確定提交給解決方案檢查工具進行分析的所選解決方案至少包含一個元件。
解決方案檢查工具無法匯出大型解決方案
從環境匯出大型解決方案失敗的主要案例涉及匯出要求的逾時例外狀況。 如果要求超過 20 分鐘,就會發生此問題。 大型解決方案 (例如預設解決方案) 可能無法在此時間範圍內匯出,而且檢查也將無法順利完成。 如果解決方案檢查工具在匯出期間發生逾時,它會在處理工作失敗前重試三次,因此可能需等到一小時後,才會收到失敗通知。
因應措施是建立所需分析元件較少的更小型解決方案。 如果解決方案是因為外掛程式組件元件而有大型檔案大小,請參閱最佳化自訂組件開發的指引。
重要
若要盡可能將誤判減至最低,請確定您已新增相依自訂。 建立解決方案並新增這些元件時,請將下列各項納入:
- 新增外掛程式時,包含外掛程式的 SDK 訊息處理步驟。
- 新增資料表表單時,包含已附加至表單事件的 JavaScript Web 資源。
- 新增 JavaScript Web 資源時,包含所有的相依 JavaScript Web 資源。
- 新增 HTML Web 資源時,包含 HTML Web 資源所定義的任何相依指令碼。
- 新增自訂工作流程時,包含工作流程中所使用的組件。
具備內嵌 JavaScript 之 HTML 資源的問題行號參照不正確
在解決方案檢查工具處理 HTML Web 資源時,HTML Web 資源會與 HTML Web 資源中的 JavaScript 分別進行處理。 因此,在 HTML 網頁資源的 <script>
中所發現的衝突行號會不正確。
Web 資源的 Web 不支援語法問題
解決方案檢查工具支援 ECMAScript 2015 (ES6) 和最多 ECMAScript 2018 (ES9) 語法的全域變數。 當解決方案檢查工具使用 ES6 之後的全域語法或比 ES9 更晚的語法來分析 JavaScript 時,會報告 Web 資源不支援的網頁語法問題。
已根據呼叫範圍報告外掛程式及工作流程活動的多項違規
對於問題僅與呼叫上下文相關的外掛程式及工作流程活動規則,解決方案檢查工具會在 IPlugin
介面實作中開始其分析,並搜尋整個呼叫歷程圖以偵測該實作範圍中的問題。 在某些情況下,許多呼叫路徑可能都會到達偵測到問題所在的同樣位置。 由於問題與呼叫範圍相關,工具可能會根據該範圍回報來讓您更清楚了解影響所及,而不是提供明確的位置。 因此多個問題可能會涉及必須修正的單一位置。
app-formula-issues-high 可能會顯示不同於設計模式中顯示的錯誤數
解決方案檢查工具會列出在應用程式中找到的錯誤數目,包括來自測試的錯誤數目。 設計模式中的應用程式檢查工具只會顯示來自畫面控制項和元件的錯誤。 如果設計模式中的應用程式檢查工具顯示的錯誤計數較少,請開啟 Test Studio,並在測試中使用的運算式中搜尋錯誤。
針對程式碼元件回報的解決方案檢查工具衝突
當解決方案檢查工具在偵錯模式建有程式碼元件的解決方案上執行時,會回報多個衝突。 一個會發生在偵錯模式的常見錯誤是 web-avoid-eval
。 解決方案檢查工具的目標是驗證生產使用的程式碼,因此程式碼元件必須使用正確的 buildMode:npm run build -- --buildMode production
或 msbuild /p:configuration=Release
(根據您的建置系統而定) 來建置。 其他資訊:建立和建置程式碼元件
如果有錯誤是發生在由程式碼元件引進的 bundle.js
,您可以將此檔案排除在分析外。 其他資訊:Microsoft.PowerApps.Checker.PowerShell 模組和 PAC CLI