共通の問題と回避策
以下は、 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 インターフェイスを実装しています。
- タスクは、プロジェクト ファイルまたはパス ディレクトリにある *.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
Canvas でサード パーティ サービスの認証に失敗
サード パーティの PCF 認証はサポートされていません。
回避策
コントロールが読み込みを完了できない
updateView
で refresh を使用する場合、保護条件を含める必要があります。それ以外の場合は、無限ループが作成されます。 refresh
が呼び出されるときはいつでも、ページ番号が 1 にリセットされ、次に現在のフィルタリングおよび並べ替え条件でレコードの最初のページが取得されます。 更新されたデータがクライアントによって受信されると、表示を更新するために updateView
が呼び出されます。 その結果コントロールは読み込みを完了できず、最初のページを超えてレコードを取得できなくなります。
想定されたページではなく、同じページが読み込まれる
refresh、loadExactPage、loadNextPage、loadPreviousPage は並列実行をサポートしていません。
これらの関数が呼び出されると、要求されたページの結果は次の行ですぐには利用できません。 代わりに、新しく取得した結果でコントロールの updateView
がトリガーされます。
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。