以下は、 Power Apps Component Framework と Microsoft Power Platform CLI の使用中に遭遇する可能性のある一般的な問題です。
更新されたソリューションのインポート後にコンポーネントの変更は反映されませんか?
コンポーネント マニフェスト ファイルのコンポーネント バージョン (マイナーまたはパッチ) を更新します (たとえば、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 インターフェイスを実装しています。
- タスクは、プロジェクト ファイルの <UsingTask> または、 パス ディレクトリに格納されている、 *.tasks ファイルにて正しく宣言されています。
回避策:
- 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 に関する情報を取得できませんでした。
回避策
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 リソースのコンテンツサイズが大きすぎます。
回避策
このエラーを修正/回避するには、2 つのオプションがあります:
リリース構成を使用して PCF をビルドする
.pcfprojをリリース構成としてビルドします。これにより、コマンドを使用して Web パックが生産モードに設定されます:msbuild /property:configuration=Releasemsbuild コマンドに以下の追加プロパティを指定して実行します:
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>
メールの添付ファイルの最大サイズを増やす
PCF コントロールで使用されるファイルのサイズ制限は、電子メールの添付ファイルのサイズを制限するのと同じ設定によって制限されます。 添付ファイルの最大サイズの設定については、電子メールの設定の管理を参照してください。
この値は、Organization.MaxUploadFileSize 列で設定されます。 コードを使用して環境設定を読み取って更新する方法について学びましょう
既定の構成で CLI ツールを使用して構築されたソリューションを備えた Power Apps チェッカーを実行している場合
エラー: eval 関数または同等の関数は使用しないでください
この警告は、デフォルト msbuild 構成が Configuration=Debug であることによる意図的なものです。 これにより、Web パック (コード コンポーネントのバンドルに使用) に開発モード (eval() を生成) でパッケージ化するように指示されます。
回避策
次のいずれかのコマンドを使用してソリューション ファイルを再ビルドし、ソリューションを Dataverse に再インポートします。
msbuild/property:configuration:Release
npm run build -- --buildMode production
キャンバスでカスタム認証が失敗する
PCF コントロール内のカスタム認証は、キャンバス アプリ内ではサポートされていません。
回避策
コネクタを使用して認証を処理します。
コントロールが読み込みを完了できない
で updateViewを使用する場合、保護条件を含める必要があります。それ以外の場合は、無限ループが作成されます。
refresh が呼び出される際はいつでも、ページ番号が 1 にリセットされ、次に現在のフィルタリングおよび並べ替え条件でレコードの最初のページが取得されます。 クライアントが更新されたデータを受信すると、表示を更新するために updateView が呼び出されます。 その結果コントロールは読み込みを完了できず、最初のページを超えてレコードを取得できなくなります。
想定されたページではなく、同じページが読み込まれる
refresh、loadExactPage、loadNextPage、loadPreviousPage は並列実行をサポートしていません。
これらの関数が呼び出されると、要求されたページの結果は次の行ですぐには利用できません。 その代わりに、新しく取得された結果でコントロールに updateView をトリガーします。