次の方法で共有


共通の問題と回避策

以下は、 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 に関する情報を取得できませんでした。

回避策

  • NuGet.Config ファイルを %APPDATA%\NuGetから開きます。 ユーザーがエラーを得たフィードはこのファイルにある必要があります。

  • フィードを 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をビルドする

  • 次のコマンドを使用して、Webパックを本番モードに設定するリリース構成として .pcfproj をビルドします。

    msbuild /property:configuration=Release
    
  • 次の追加プロパティを使用してmsbuildコマンドを実行します。

    msbuild /p:PcfBuildMode=production
    
  • .pcfproj プロパティを PcfBuildMode productionに設定して、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

Canvas でサード パーティ サービスの認証に失敗

PCFサードパーティの認証はサポートされていません。

回避策

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

コントロールの読み込みが完了できません

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

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

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

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