ソリューション チェッカーの一般的な問題と解決策
この記事ではソリューション チェッカーを使用するにあたって、発生する可能性がある一般的な問題について説明します。 適用対象には回避策を示します。
ソリューション チェッカーを使用して分析の実行や結果をダウンロードできない
ソリューション チェックや、結果のダウンロードの要求を送信した直後に、処理が完了せずに次のようなエラーメッセージが表示されます:
"[ソリューション名称] のソリューション チェックを実行することができませんでした。再度実行をしてください。"
実行が可能な時に、ソリューション チェッカーは潜在的な原因と解決手順の詳細へのリンクを含む特定のエラーメッセージを返します。 詳細については さらに詳しく を選択してください。
分析のバックグラウンド処理中に発生したエラーは、'Couldn't be completed' ステータスで失敗すると Power Apps ポータルでエラー メッセージを返して要求者に電子メールの通知を送信します。
ポータル通知を選択すると、本ページにリンクがされ、詳細なトラブルシューティングを行います。 提供された一般的な問題にてエラーが解決できなかった場合、参照番号が返されます。 この参照番号を Microsoft サポートに提供することで、詳細な調査が行われます。
ソリューション チェッカーが既定のソリューションをチェックできない
ソリューション チェッカーは、Microsoft Power Platform 環境のソリューションをエクスポートし、解析します。 既定のソリューションのエクスポートには対応していないため、チェックが正常に完了しない場合があります。 詳しくは:ソリューション チェッカーでが大規模なソリューションをエクスポートできない。
サポートしていないバージョンの Power Apps チェッカーによりソリューション チェッカーが失敗する
ソリューション チェッカーは Power Apps チェッカー アプリで使用可能となる機能です。 バージョン 1.0.0.47 よりも前のバージョンの Power Apps チェッカー アプリをインストールした場合、ソリューション チェッカーの実行処理が正常に完了しない場合があります。 Power Apps チェッカーのバージョンを Power Platform 管理センター からアップグレードする必要があります。
ただし、バージョンが 1.0.0.45 より前の Power Apps チェッカーがインストールされている場合は、ソリューションを削除して再インストールすることをお勧めします。 最近のスキーマの変更により、Power Apps チェッカーの 1.0.0.45 より前のバージョンからのアップグレードは失敗する可能性があります。
ソリューション チェッカーの過去の結果を残したい場合は、過去の実行結果をエクスポートするか、データを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 ポータルを開きます。
- ソリューションを選択します。
- ソリューション ツールバーで ソリューション チェッカー を選択し、次に インストール を選択します。
ソリューションチェッカーは、管理者モードでは環境にアクセスできません
管理者モード に設定された環境は、 システム管理者とシステムカスタマイザーの役割を持つユーザーのみに意図的にアクセス制限を行います。 Power Apps チェッカー アプリケーション ID に既定でこれらのロールが割り当てられておらず、このモードで動作する組織にアクセスできません。
ソリューションチェッカー をこの組織で使用するには、管理者モードを無効にする必要があります。
管理者モードを無効にする
組織のインスタンスで管理者モードを無効にするには:
Power Platform 管理センター にサインインします。
ソリューション チェッカーの実行に問題がある環境を開き、編集を選択します。
管理者モードを無効に設定し、保存を選択します。
ソリューション チェッカーを再実行する。
セキュリティ役割が存在しないことに起因するソリューション チェッカーのエラー
ソリューション チェッカーを使用するアプリケーション ユーザーには、次のセキュリティ ロールが必要です。これにより 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 とやり取りするたびに、リクエストで送信されたメッセージに登録されている1つ以上のプラグインステップが起動される可能性があります。 これらのプラグインは、 Dataverse によってメッセージが期待通りに処理されず、ソリューションチェッカーが要求された分析ジョブを処理する能力を中断する条件をもたらす可能性があります。 ソリューションチェッカーのジョブの結果をダウンロードするとき、または進行中の分析ジョブをキャンセルするときにも、同様の状況が発生する可能性があります。
ソリューションチェッカーが要求する典型的な Dataverse 操作:
- ソリューション、
systemuser
、組織のテーブルデータを取得する - 分析ジョブ、分析コンポーネント、分析結果テーブル データを作成、更新、および取得します
- ソリューションのエクスポート
ライセンスのないユーザーのコンテキストで実行することを意図して登録されたプラグインのステップ
「ライセンスのないユーザー」 の例外が原因でソリューション チェッカーが失敗する場合、多くの場合は、現在ライセンスのない特定のシステム ユーザーのコンテキストで実行するように構成されたトリガープラグインステップが原因となっています。 ソリューション チェッカーによって トリガー される可能性のある プラグイン ステップ が、ライセンスを取得したユーザーの コンテキストで実行されることを確認します。
重要
割り当てられたライセンスが取り消される特定のユーザーではなく、呼び出し元のユーザーのコンテキストで実行するようにプラグイン手順を構成することを推奨します。
プラグイン ステップにより、 Power Apps チェッカー の アプリケーション ユーザーに付与されていない権限が必要となる操作が実行される
Dataverse が欠落している特権に基づいてアクセスを拒否したためにソリューション チェッカーが失敗した場合は、多くの場合、 Power Apps チェッカーのアプリケーション ユーザーに現在付与されていない権限を必要とする操作を実行する、起動されたプラグイン ステップが原因です。 ソリューションチェッカーが呼び出した操作でプラグイン ステップが実行されないように再設定をするか、 Power Apps チェッカーのアプリケーションユーザにカスタム プラグインステップの実行に必要な権限を付与してください。
プラグインステップが、InvalidPluginExecutionException をスローして処理の実行が予期せずに中断します
「ISVコードによって操作が中止されました」、または「ISVコードで予期しないエラーが発生しました」 というエラーが発生して、ソリューション チェッカーが失敗する場合があります。 これが発生した場合、プラグインのステップがトリガーされ、InvalidPluginExcecutionException をスローして明示的に実行を中断した、またはプラグインのコードでエラーが適切に捕捉されなかったことを示します。 ソリューション チェッカーで呼び出された操作で実行されないようにプラグイン ステップを再構成するか、ソリューション チェッカーで提示された条件に基づいて実行を中断しないようにプラグインの実装を調整します。
ソリューションチェッカが呼び出す一般的な操作には、作成と更新があります。 これらの操作は、分析ジョブ、分析コンポーネント、または分析結果のテーブルで実行できます。
Microsoft Entra ID でファースト パーティ アプリケーションが無効になっていることが原因で、ソリューション チェッカーが失敗する
ソリューション チェッカー (PowerApps-アドバイザー) で使用するファースト パーティのエンタープライズ アプリケーション ID は、Microsoft Entra ID で無効化することはできません。 これが無効になっていると、要求されたユーザーの代理として Dataverse とその他の必要なリソース プロバイダのベアラー トークンを要求する際に、ID の認証ができません。
次の手順に従って、Microsoft Entra でアプリケーション ID が無効になっていないことを確認し、必要に応じてアプリケーションを有効にします。
アプリケーションの有効状態を確認/変更する
PowerApps-アドバイザー エンタープライズ アプリケーション ID の有効化状態を確認や変更する方法
- Microsoft Entra ポータル でご利用のテナントにアクセスします。
- エンタープライズ アプリケーションに移動します。
- すべてのアプリケーション を選択して 'PowerApps-アドバイザー' を検索します。
- 'PowerApps-アドバイザー' を選択してアプリの詳細を表示します。
- プロパティ を選択します。
- ユーザーのサインインを有効にする の状態を確認してくだい。 いいえ になっている場合は、アプリケーションは無効となります。
- ラジオボタンを はい に変更します。 このアプリケーション オブジェクト
- 保存を選択します。 このアプリケーションが有効になりました。 変更が適用されるまで数分かかる場合があります。
- ソリューション チェッカーを再実行する。
重要
エンタープライズ アプリケーションを編集するには、Microsoft Entra ID (Microsoft Entra ID) で管理者権限を持っている必要があります。
ソリューション チェッカーで、ドラフト版のビジネス プロセス フローのコンポーネントを使用してソリューションをエクスポートするとエラーになります
まだ有効にされたことのないビジネス プロセス フロー コンポーネントのドラフト版がソリューションに含まれている場合、ソリューション チェッカーは分析用のソリューションのエクスポートに失敗します。 このエラーはソリューション チェッカー特有のものではなく、基となっている (カスタム) テーブル コンポーネントに依存するビジネス プロセスフローがまだに有効化されておらず、作成されていないことが原因です。 この問題は、ソリューション エクスプローラ内からビジネス プロセスフローが有効化されている場合にも発生します。
この問題についての詳細と解決の手順については、KB 文書 #4337537: 無効なエクスポート - 不足しているビジネス プロセス テーブル を参照してください。
ソリューション チェッカーが、モデル駆動型のアプリ コンポーネントを使用したソリューションのエクスポートに失敗する
ソリューションにモデル駆動型のアプリが含まれている場合、ソリューション チェッカーは解析に使用するソリューションのエクスポートに失敗することがあります。 このエラーは、アプリの共有二使用しているロール ベースのセキュリティが原因です。 Power Apps チェッカー アプリケーションのユーザーがモデル駆動型アプリへの適切なアクセス権を持っていない場合、モデル駆動型アプリを含むソリューションは、ソリューション チェッカーでエクスポートできません。
この問題を解決するには、環境メーカーセキュリティ ロールを Power Apps のチェッカー アプリケーション ユーザーに付与します。
ソリューション チェッカーがパッチを適用したソリューションをエクスポートに失敗する
ソリューションに パッチ が適用されている場合、ソリューション チェッカーは分析のためのソリューションをエクスポートできません。 ソリューションに修正プログラムが適用されている場合、元のソリューションがロックされそのソリューションを親ソリューションとして識別する依存修正プログラムが組織内に存在する限り、変更やエクスポートはできません。
この問題を解決するには、ソリューションに関連するすべてのパッチが新たに作成されたソリューション含まれるように、ソリューションの完全なコピーを作成してください。 これによりソリューションのロックが解除され、ソリューションをシステムからエクスポートできます。 詳細については、ソリューションをクローンする を参照してください。
ソリューション チェッカーが空白のソリューションの分析をしない
ソリューション チェッカーに分析対象のコンポーネントが含まないソリューションをエクスポートした場合、以降の処理は中止され、処理は失敗となります。 ソリューション チェッカー分析に送信したソリューションに少なくとも 1 つのコンポーネントが含まれていることを確認してください。
ソリューション チェッカーが大規模なソリューションをエクスポートできない
環境から大規模なソリューションをエクスポートできない主なシナリオでは、エクスポート処理のリクエストでタイムアウト例外が発生します。 これは処理に 20 分以上かかっている場合に発生します。 既定のソリューションのような大規模なソリューションは、この時間設定を超過する可能性があり、チェック処理は失敗します。 エクスポートの過程でソリューション チェッカーがタイムアウトを検出した場合、ジョブが失敗となるまでに 3 回処理をやり直し、処理失敗の通知がされるまでは 1 時間以上かかる場合があります。
分析対象のコンポーネント数を削減し、より小規模のソリューションを作成することが回避方法となります。 ソリューションのファイル サイズが大きい原因が、プラグイン アセンブリ コンポーネントである場合は、ユーザー定義のアセンブリ開発を最適化する に記載のガイダンスを参照してください。
重要
誤検知を最小限に抑えるために、確実に依存するカスタマイズを追加してください。 ソリューションを作成してこれらのコンポーネントを追加する場合は、以下を含めます:
- プラグインを追加するときは、プラグインの SDK メッセージ処理手順を含めます。
- テーブル フォームを追加する際には、フォーム イベントに添付された JavaScript Web リソースを含めます。
- JavaScript Webリソースを追加するときは、すべての依存する JavaScript Web リソースを含めます。
- HTML Webリソースを追加するときは、HTML Webリソース内に定義されている依存スクリプトをすべて含めます。
- カスタム ワークフローを追加するときは、ワークフロー内で使用されているアセンブリを含めます。
JavaScript が埋め込まれた HTML リソースで問題の行番号参照が正しくない
HTML Web リソース が ソリューション チェッカー で処理されるときに、HTML Web リソースは HTML Web リソース内の JavaScript とは別に処理されます。 このため、HTML Web リソースの <script>
の中に見つかった不正な行番号は正しくありません。
Web リソースにおける Web-unsupported-syntax 問題
ソリューション チェッカーは、ECMAScript 2015 (ES6) 以降、ECMAScript 2018 (ES9) 構文までのグローバル変数をサポートします。 ソリューション チェッカーで ES6 以降のグローバル変数、または ES9 以降の構文を使用して JavaScript の解析をすると、Web リソースの Web-unsupported-syntax の問題が報告されます。
呼び出しスコープに基づいてプラグインとワークフロー活動について報告された複数の違反
発生した問題が呼び出し側コンテキストのみに関連する プラグイン と ワークフロー 活動ルールの場合は、ソリューション チェッカー ツールが IPlugin
インターフェースの実装で分析を開始して、実装の範囲で問題を検出する目的で呼び出しグラフの切り替えを行います。 場合によっては、問題が検出されたのと同じ場所に多数の呼び出しパスが到達することがあります。 この問題は呼び出しスコープに関連しているため、ツールはそのスコープに基づいてレポートして、個別の場所ではなくより良い影響を把握できます。 そのため、複数の問題が解決すべき単一の場所を参照することがあります。
app-formula-issues-high は、デザインモードで表示されるエラーとは異なる数のエラーが表示される場合があります
ソリューション チェッカーは、テストのエラーを含め、アプリで見つかったエラーの数を一覧表示します。 デザイン モードのアプリ チェッカーは、画面コントロールとコンポーネントからのエラーのみを表示します。 デザイン モードでアプリ チェッカーに表示されるエラー数が少ない場合は、テスト スタジオを開き、テストで使用されている式のエラーを検索します。
コード コンポーネントについて報告されたソリューション チェッカー違反
ソリューション チェッカーは、デバッグ モードでコード コンポーネントが組み込まれているソリューションで実行すると、複数の違反を報告します。 デバッグ モードで発生する一般的なエラーの 1 つは、web-avoid-eval
です。 ソリューション チェッカーは、本番環境で使用するコードを検証することを目的としているため、コード コンポーネントは適切なビルド モードを使用して作成する必要があります: npm run build -- --buildMode production
または msbuild /p:configuration=Release
構築システムによって異なります。 詳細: コード コンポーネントを作成およびビルドする
コード コンポーネントによって導入された bundle.js
でエラーが発生した場合は、このファイルを解析から除外できます。 詳細: Microsoft.PowerApps.Checker.PowerShell モジュールおよび PAC CLI
参照
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。