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

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

注意

エンティティとテーブルの違いがわかりませんか? Microsoft Dataverse で「開発者: 用語を理解する」を参照してください。

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

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

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

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

    注意

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

  3. 新しいソリューション プロジェクトが作成されたら、作成したサンプル コンポーネントがある場所の ソリューション フォルダーを参照します。 以下に示すコマンドを使用して参照を追加することができます。 この参照は、コード コンポーネントがビルド中に追加すべきソリューションのプロジェクトを通知します。 参照を 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 --url https://xyz.crm.dynamics.com 
    
  2. 前に認証プロファイルを作成した場合は、次のコマンドを使用してすべての既存プロファイルを表示できます。

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

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

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

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

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

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

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

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

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

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

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

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

    注意

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

Dataverse の既存のソリューションに基づくソリューション プロジェクトの作成

Dataverse の既存のソリューションに基づいてソリューションプロジェクトを作成するには、コマンド pac solution clone を実行します。 そのためには次のようにします。

  1. 有効な認証のプロファイルを作成したことを確認します。
  2. コマンドを実行します。
pac solution clone –-name(-n) <name of the solution to be exported> --targetversion(-v) <version of your solution> --include(-i) <settings that should be included>

注意

設定値: autonumbering、calendar、customization、emailtracking、externalapplications、general、isvconfig、marketing、outlooksynchronization、relationshiproles、sales。

詳細 : オプションの設定

注意

アンマネージド ソリューションをインポートする場合は、カスタマイズを手動で公開します。

プラグイン プロジェクトを作成し、ソリューションへの参照を追加する

注意

プラグイン コマンドはパブリック プレビューにあり、 Microsoft Power Platform CLI は、プラグイン プロジェクトへの参照を追加することで、プラグインプロジェクトの作成とソリューションへのパッケージ化をサポートするようになりました。 pac plugin init コマンドは、ディレクトリにテンプレートファイル (csproj、#Plugin.cs&ServiceHelper.cs) を作成します。 それには、次を実行します。

  1. 有効な認証のプロファイルを作成したことを確認します。
  2. プロジェクトを作成するルート ディレクトリに移動します。
  3. コマンドを実行します。
pac auth create –url <https://xyz.crm.dynamics.com>
  1. コマンドを実行してプラグイン プロジェクトを作成します

    pac plugin init
    
  2. ソリューションのビルド時にプラグイン プロジェクトがビルドされるように、次のコマンドを使用してソリューション プロジェクトへの参照を追加します。

    pac solution add-reference –path <path to your plugin project>
    
  3. コマンドを実行して、ソリューションと参照プラグインをビルドします。

    msbuild
    

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

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

  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 の概要

注意

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

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