次の方法で共有


共通の問題と回避策

以下は、 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 認証はサポートされていません。

回避策

カスタム ページコネクタの組み合わせを使用します。

コントロールが読み込みを完了できない

updateViewrefresh を使用する場合、保護条件を含める必要があります。それ以外の場合は、無限ループが作成されます。 refresh が呼び出されるときはいつでも、ページ番号が 1 にリセットされ、次に現在のフィルタリングおよび並べ替え条件でレコードの最初のページが取得されます。 更新されたデータがクライアントによって受信されると、表示を更新するために updateView が呼び出されます。 その結果コントロールは読み込みを完了できず、最初のページを超えてレコードを取得できなくなります。

想定されたページではなく、同じページが読み込まれる

refreshloadExactPageloadNextPageloadPreviousPage は並列実行をサポートしていません。

これらの関数が呼び出されると、要求されたページの結果は次の行ですぐには利用できません。 代わりに、新しく取得した結果でコントロールの updateView がトリガーされます。

注意

ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)

この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。