次の方法で共有


コード コンポーネントをパッケージ化する

この記事では、コード コンポーネントを Microsoft Dataverse にインポートする方法について説明します。 Microsoft Power Platform CLI を使用してコードコンポーネントを実装した後、次のステップは、すべてのコード コンポーネント要素をソリューション ファイルにバンドルし、ソリューション ファイルを Dataverse にインポートし、実行時にコード コンポーネントを確認できるようにします。

ソリューション ファイルを作成およびインポートするには:

  1. サンプル コンポーネント フォルダ内に新しいフォルダを作成し、コマンド mkdir Solutions を使用して ソリューション (または任意の名前) という名前を付けます。 コマンド cd Solutions を使用して、ディレクトリに移動します。

  2. pac solution init コマンドを使用して新しいソリューション プロジェクトを作成します。 ソリューション プロジェクトは、コード コンポーネントをソリューション zip ファイルにバンドルする目的で使用され、Dataverse へのインポートに使用されます。

    pac solution init --publisher-name developer --publisher-prefix dev
    

    注意

    publisher-namepublisher-prefix の値は環境に固有である必要があります。

  3. 新しいソリューション プロジェクトが作成されたら、作成したサンプル コンポーネントがある場所の ソリューション フォルダーを参照します。 pac solution add-reference コマンドを使用して参照を追加することができます。 この参照は、コード コンポーネントがビルド中に追加すべきソリューションのプロジェクトを通知します。 参照を 1 つのソリューションのプロジェクトの複数コンポーネントへ追加できます。

     pac solution add-reference --path c:\downloads\mysamplecomponent
    
  4. ソリューション プロジェクトから zip ファイルを生成するには、ソリューション プロジェクトのディレクトリに移動して、以下のコマンドを使用してプロジェクトを構築する必要があります。 このコマンドは MSBuild を使用して、復元の一部として NuGet の依存関係をプルダウンすることで、ソリューション プロジェクトを構築します。 初めてソリューションプロジェクトを構築する際には /restore のみを使用します。 その後の各ビルドに対しては、コマンド msbuild を実行できます。

    msbuild /t:build /restore
    

    ヒント

    • msbuild 15.9.*がパスに存在しない場合は、VS2017の開発者コマンドプロンプトを開いて msbuild コマンドを実行します。
    • デバッグ 構成でソリューションをビルドして、アンマネージド ソリューション パッケージを生成します。 管理ソリューション パッケージは、リリース 構成でソリューションを構築することにより生成されます。 これらの設定は、cdsproj ファイルの SolutionPackageType プロパティを指定することでオーバーライドできます。
    • 運用ビルドを発行するためにRelease にmsbuild構成を設定できます。 例: msbuild /p:configuration=Release
    • ソリューションで msbuild コマンドを実行する際に Ambiguous project name と言うエラーが発生した場合は、ソリューション名とプロジェクト名が同じでないことを確認してください。
  5. 生成されたソリューション ファイルは、ビルド正常に行なわれたら \bin\debug\ フォルダー内に配置されます。

  6. Web ポータルを使用して手動で ソリューションを Dataverse にインポートするか、Microsoft Power Platform Build Tools を使用して自動的にインポートします。

環境に接続しています

コード コンポーネントは、Dataverse 環境に接続して、その後その更新されたコンポーネントをプッシュすることで Microsoft Power Platform CLI から直接デプロイできます。

以下の手順に従って、認証プロファイルを作成し、Dataverse に接続して、更新されたコンポーネントをプッシュします。

  1. pac auth create コマンドを使用して、認証プロファイルを作成します。

    pac auth create --url https://xyz.crm.dynamics.com 
    
  2. 前に認証プロファイルを作成した場合は、pac auth list コマンドを使用してすべての既存プロファイルを表示できます。

     pac auth list 
    
  3. 前に作成した認証プロファイル間を切り替えるには、pac auth select コマンドを使用します。

     pac auth select --index <index of the active profile>
    
  4. 環境に関する基本情報を取得するには、pac org who コマンドを使用します。 接続は既定の認証のプロファイルを使用しておこないます。

    pac org who 
    
  5. 特定の認証プロファイルを削除するには、pac auth delete コマンド pac auth delete --index <index of the profile> を使用します。

  6. ローカル コンピューターからすべての認証プロファイルをオフにする場合は、pac auth clear コマンドを使用します。 この操作は、ローカル コンピュータから完全に authprofile.json ファイルやトークン キャッシュ ファイルを削除するため不可逆です。

コード コンポーネントのデプロイ

認証プロファイルを正常に作成したら、最新の変更をすべて加えて、コードコンポーネントを Dataverse インスタンスにプッシュし始めることができます。

push 機能は、コード コンポーネントのバージョン管理要件をバイパスして、コード コンポーネントをインポートするためにソリューション (cdsproj) を作成する必要がないため、社内開発者サイクルの開発を高速化します。

push 機能を使用するには、以下のことを行います:

  1. 有効な認証のプロファイルを作成したことを確認します。

  2. サンプル コンポーネント ファイルが配置されているディレクトリに移動します。

  3. pac pcf push コマンドを実行します。

    pac pcf push --publisher-prefix <your publisher prefix>
    

    注意

    push コマンドで使用する公開元は、コンポーネントを含むソリューションの公開元の接頭辞と一致させる必要があります。

ソリューションからのコンポーネントの削除

ソリューション ファイルからコード コンポーネントを削除したい場合:

  1. ソリューション プロジェクト ディレクトリの cdsproj ファイルを編集し、コンポーネントへの参照を削除します。 以下は、コンポーネント 参照の例です:

    <ItemGroup>
        <Projectreference Include="..\pcf_component\pcf_component.pcfproj">
          <Project>0481bd83-ffb0-4b70-b526-e0b3dd63e7ef</Project>
          <Name>pcf_component</Name>
          <Targets>Build</Targets>
          <referenceOutputAssembly>false</referenceOutputAssembly>
          <OutputItemType>Content</OutputItemType>
          <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </Projectreference>
    </ItemGroup>
    
  2. 以下のコマンドを使用して再構築 (またはクリーンアップ) を実行します:

    msbuild /t:rebuild
    

関連項目

モデル駆動型アプリの列またはテーブルにコードコンポーネントを追加する
キャンバス アプリにコンポーネントを追加する
Power Apps Component Framework API の参照
Power Apps Component Framework の概要
Microsoft Power Platform CLI コマンド グループ

注意

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

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