コード コンポーネント ソリューション パッケージを作成する

完了

Power Apps や Power Pages でコード コンポーネントを使用するには、Microsoft Dataverse 環境にコード コンポーネントを展開する必要があります。 コンポーネントを展開するための最初のタスクは、コード コンポーネントをソリューション ファイルにパッケージ化し、それを環境にインポートできるようにすることです。 これは 2 つの方法で実行できます。 CLI Push コマンドを使用して一時的なソリューションを作成すると、コンポーネントを環境にプッシュしてテストを容易に実行できます。 この方法は、コンポーネントの開発時にとても役立ちます。 もう 1 つの方法は、コンポーネントのソリューションを作成し、それを別々に Dataverse 環境にインポートする方法です。 この方法は、ビルド パイプラインや、開発環境以外への手動展開で役立ちます。 両方の方法を詳しく見てみましょう。

次の手順では、前回のトピックで作成したコード コンポーネント、または利用可能なサンプル コンポーネントの 1 つを使用して、両方の方法を練習します。

前提条件

ビルド済みの既存のコード コンポーネント プロジェクトが必要です。 以下の手順は、サンプル コンポーネント など、他のすべてのコード コンポーネント プロジェクトに対しても実行できます。

開発中にコンポーネントを Dataverse 環境にプッシュする

Power Platform CLI を使用してコード コンポーネントをプッシュするには、次の手順を実行します。

  1. Power Platform 管理センター に移動し、環境を選択します。

  2. このラボで使用する環境を選択して開きます。

  3. 環境 URL を右クリックしてリンクのアドレスをコピーを選択します。

    環境の詳細のスクリーンショット。環境 URL をコピーするボタンの周りに赤い四角形が表示されています。

  4. 環境 URL を注帳に保存します。

  5. Visual Studio Code を開始し、エクスプローラーを選択します。

  6. フォルダーを開くを選択します。

    Visual Studio Code の [フォルダーを開く] ボタンのスクリーンショット。

  7. 前のラボで作成した editable-pcf プロジェクト フォルダーを選択し、フォルダーを選択を選択します。

  8. Power Platform タブを選択し、認証プロファイルの追加を選択します

  9. アカウントにサインインするのポップアップを探して、使用するアカウントを選択します。

  10. 追加したプロファイルは、関連付けられている環境およびソリューションと一緒に、認証プロファイルに表示されます。

  11. ターミナル新しいターミナルの順に選択します。

  12. 次のコマンドを実行してプロジェクトをビルドし、正常にビルドされたことを確認します。

    npm run build
    
  13. 次のコマンドを実行してカスタム コントロールを環境にプッシュします。

    pac pcf push --publisher-prefix msl
    
  14. ソリューションが環境にインポートされて公開されます。

    Visual Studio Code ターミナルのスクリーンショット。

  15. Power Apps Maker Portal に移動して、正しい環境にいることを確認します。

  16. ソリューションを選択します。

  17. PowerAppsTools_msl ソリューションが表示されるはずです。 ソリューションを選択して開きます。

    Power Apps Tools ソリューションの周りに赤い四角形が表示された環境ソリューションの一覧のスクリーンショット。

  18. 作成したカスタム コントロールが表示されるはずです。

    カスタム コントロールの周りに赤い四角形が表示されたソリューション コンポーネントのスクリーンショット。

Power Platform CLI を使用してソリューション ファイルを作成する

Power Platform CLI を使用してソリューション ファイルを作成するには、次の手順を実行します。

  1. Visual Studio Code に戻り、EDITABLE-PCF プロジェクトが開いていることを確認します。

  2. ターミナルに移動し、コマンド プロンプトに移動します。

  3. 次のコマンドを実行して、新しいフォルダーを作成します。

    md Solution
    
  4. 現在のディレクトリを、作成した Solution フォルダーに変更します。 次のコマンドを実行します。

    cd Solution
    
  5. 次のコマンドを使用して、Dataverse ソリューション プロジェクトを初期化します。

    pac solution init --publisher-name mslearn --publisher-prefix msl
    
  6. ビルド時にそのコンポーネントが追加されることをソリューション プロジェクトに通知します。 このタスクを実行するには、次のコマンドを使用します。

    pac solution add-reference --path ..
    
  7. ソリューションの zip ファイルを生成するには、Microsoft Build Engine または msbuild (略称) を使用します。 /restore フラグを使用する必要があるのは、ソリューション プロジェクトが初めてビルドされるときだけです。 それ以降のすべてのビルドでは、msbuild を実行するだけで済みます。 MSBuild.exe へのパスは、コンピューターにインストールしている Visual Studio のバージョンによって異なる場合があります。

    "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Current\Bin\MSBuild.exe\" /t:build /restore
    
  8. ビルドが成功します。

  9. 作成したソリューション フォルダーを見つけて展開します。

  10. bin\debug フォルダーを展開します。

  11. 次のように solution.zip ファイルが表示されます。

    作成したソリューションのスクリーンショット。

MSBuild を実行するには、Visual Studio または Visual Studio Build Tools のいずれかがインストールされている必要があります。 ビルド ツールは、Visual Studio ダウンロード からインストールできます。 MSBuild にアクセスするには、Windows 環境変数のパス ディレクトリに MSBuild を追加することが必要な場合があります。 たとえば、Visual Studio 2022 では、MSBuild が C:\Program Files (x86)\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin に格納されます。 Visual Studio 開発者コマンド プロンプトを使用して MSBuild にアクセスするか、完全修飾パス ("C:\Program Files (x86)\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\MSBuild.exe"/t:build /restore) を使用して MSBuild を実行することもできます。

既定のパッケージ タイプは、管理ソリューションです。 管理されていないソリューション (または両方) としてエクスポートする場合は、Solutions.cdsproj の次のセクションにあるコメントを消去 (またはコメント解除) し、それに応じて SolutionPackageType ノードを編集します。

   <!-- Solution Packager overrides un-comment to use: SolutionPackagerType Managed, Unmanaged, Both)-->
        <PropertyGroup>
        <SolutionPackageType>Unmanaged</SolutionPackageType>
        </PropertyGroup>

msbuild の構成を Release に設定すると、実稼働ビルドを発行できます。たとえば msbuild /p:configuration=Release のようにします。

リリースの構成に応じて、これを含んだ bin\Debug または bin\Release 内の zip ファイルを手動でインポートできます。 Power Platform CLI を使用して、プログラムによってコード コンポーネントを展開することもできます。 詳細については、「コード コンポーネントをパッケージ化する」ドキュメントで、環境への接続コード コンポーネントの展開に関するセクションを参照してください。