共通の問題と回避策
以下は、 Power Apps Component Framework と Microsoft Power Platform CLI の使用中に遭遇する可能性のある一般的な問題です。
注意
エンティティとテーブルの違いがわかりませんか? Microsoft Dataverse で「開発者: 用語を理解する」を参照してください。
更新されたソリューションのインポート後にコンポーネントの変更は反映されませんか?
コンポーネント マニフェスト ファイルのコンポーネント バージョン (マイナーまたはパッチ) を更新します (たとえば、1.0.0 から 1.0.1)。 コンポーネントの更新ごとに、Microsoft Dataverse サーバに反映されるコンポーネントのバージョンを上げる必要があります。
<control namespace="SampleNamespace" constructor="TSLinearInputControl"
version="1.0.1"
display-name-key="TSLinearInputControl_Display_Key" description-key="TSLinearInputControl_Desc_Key" control-type="standard">
Msbuild エラー MSB4036
- プロジェクト ファイルのタスク名はタスク クラスの名前と同じです。
- タスク クラスはパブリックで Microsoft.Build.Framework.ITask インターフェイスを実装しています。
- タスクは、プロジェクト ファイルまたはパス ディレクトリにある *.tasks ファイルの <UsingTask> で正しく宣言されます。
回避策:
- Visual Studio インストーラーを開きます。
- Visual Studio 2017 以降の場合は、修正 を選択します。
- 個別のコンポーネント を選択します。
- コード ツール配下の NuGet ターゲットと構築タスク を確認します。
注意
開発プロセス中に遭遇するたびに、共通の問題と回避策を常に追加します。 問題が発生して回避策があり、それが役立つと思う場合は、 ここ で問題を提起するか、プル リクエストを提起して、リストを確認してリストに追加できるようにします。
既存のコード コンポーネントの更新中の問題
CLI バージョン 0.1.817.1 以前を使用してコード コンポーネントを作成、あるいは、最新のビルドおよびデバッグ モジュールが使用されていることを確認したい場合は、以下に示すように
package.jsonファイルを更新します:"dependencies": { "@types/node": "^10.12.18", "@types/powerapps-component-framework": "1.1.0"}, "devDependencies": { "pcf-scripts": "~0", "pcf-start": "~0" }
エラー: 認証の問題でビルドが失敗し、リモート ソース <リードの URL> から Microsoft.PowerApps.MSBuild.Pcf に関する情報を取得できませんでした。
回避策
%APPDATA%\NuGet から
NuGet.Configファイルを開きます。 ユーザーがエラーを得たフィードはこのファイルにある必要があります。NuGet.Config fileからフィードを削除するか、PATトークンを生成して、Nuget.Config fileに追加します。 たとえば、次のようなものです。<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="YourFeedName" value="https://contoso.com/_packaging/YourFeedName/nuget/v3/index.json" /> </packageSources> <packageSourceCredentials> <YourFeedName> <add key="Username" value="anything" /> <add key="Password" value="User PAT" /> </YourFeedName> </packageSourceCredentials> </configuration>
Web リソース サイズが大きすぎます
エラー ソリューションのインポート エラー: Web リソースのコンテンツサイズが大きすぎます。
回避策
.pcfprojをリリース構成としてビルドします。これにより、コマンドを使用して Web パックが生産モードに設定されますmsbuild /property:configuration=Release- 以下に示すように、追加のプロパティを指定して msbuild コマンドを実行します。
msbuild /p:PcfBuildMode=production .pcfprojを編集して、プロパティPcfBuildModeを生産に設定することにより、常に Web パックを生産モードでビルドするようにします。<PropertyGroup> <Name>TS_ReactStandardControl</Name> <ProjectGuid>0df84c56-2f55-4a80-ac9f-85b7a14bf378</ProjectGuid> <OutputPath>$(MSBuildThisFileDirectory)out\controls</OutputPath> <PcfBuildMode>production</PcfBuildMode> </PropertyGroup>
既定の構成で CLI ツールを使用して構築されたソリューションを備えた Power Apps チェッカーを実行している場合
エラー: eval 関数または同等の関数は使用しないでください
この警告は、デフォルト msbuild 構成が Configuration=Debug であることによる意図的なものです。 これにより、Web パック (コード コンポーネントのバンドルに使用) に開発モード (eval() を生成) でパッケージ化するように指示されます。
回避策
次のいずれかのコマンドを使用してソリューション ファイルを再ビルドし、ソリューションを Dataverse に再インポートします。
msbuild/property:configuration:Release
npm run build -- --buildMode production
外部フィルターを適用しても、キャンバス データセットのページングがリセットされない
現在、コード コンポーネントにバインドされたキャンバス アプリ データセットに問題があります。 データセットが PowerFX を使用してコード コンポーネントの外部でフィルタリングされる場合、ページは最初のページにリセットされ、hasPreviousPage は false に設定される必要があります。 これは、モデル駆動型アプリ内の機能です。 これはキャンバス アプリでは発生しないため、コード コンポーネントはページングをリセットできず、ページ番号が同期しなくなる可能性があります。
回避策
現在のところ、回避策はありません。 この問題の修正が展開されています。
Canvas でサード パーティ サービスの認証に失敗
サード パーティの PCF 認証はサポートされていません。
回避策
コントロールが読み込みを完了できない
updateView で refresh を使用する場合、保護条件を含める必要があります。それ以外の場合は、無限ループが作成されます。 refresh が呼び出されるときはいつでも、ページ番号が 1 にリセットされ、次に現在のフィルタリングおよび並べ替え条件でレコードの最初のページが取得されます。 更新されたデータがクライアントによって受信されると、表示を更新するために updateView が呼び出されます。 その結果コントロールは読み込みを完了できず、最初のページを超えてレコードを取得できなくなります。
想定されたページではなく、同じページが読み込まれる
refresh、loadExactPage、loadNextPage、loadPreviousPage は並列実行をサポートしていません。
これらの関数が呼び出されると、要求されたページの結果は次の行ですぐには利用できません。 代わりに、新しく取得した結果でコントロールの updateView がトリガーされます。
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。
フィードバック
フィードバックの送信と表示