コード コンポーネント アプリケーションの ライフサイクル管理 (ALM)
ALM は、ソフトウェア アプリケーションのライフサイクル管理を説明するために使用される用語であり、開発、保守、およびガバナンスが含まれます。 詳細: Microsoft Power Platform のアプリケーション ライフサイクル管理 (ALM)。
この記事では、Microsoft Dataverse のコードコンポーネントの観点から、ライフサイクル管理の特定の側面を扱う際の考慮事項と戦略について説明します。
ALM の開発とデバッグに関する考慮事項
コード コンポーネントを開発するには、以下の手順に従います:
- コード コンポーネント プロジェクト (
pcfproj
) を、pac pcf init を使用してテンプレートから作成します。 詳細: コード コンポーネントを作成およびビルドする。 - コード コンポーネント ロジックを実装する。 詳細: コンポーネントの実装。
- ローカル テスト ハーネスを使用してコード コンポーネントをデバッグします。 詳細については、 コード コンポーネントのデバッグを参照してください。
- ソリューション プロジェクト (
cdsproj
) を作成して、コード コンポーネント プロジェクトを参照として追加します。 詳細: コード コンポーネントをパッケージ化する - 配布と展開のために、コード コンポーネントをリリースモードでビルドする。
コード コンポーネントをモデル駆動型アプリ、キャンバスアプリ、またはポータル内でテストする準備ができたら、コード コンポーネントを Dataverse に展開する方法が 2 通りあります:
pac pcf Push: これは、ソリューションが指定されていない場合に、
--solution-unique-name
パラメータで指定されたソリューション、または一時的な PowerAppsTools で指定されたソリューションに一度に 1 つのコード コンポーネントをデプロイします。pac solution init と
msbuild
を使って、1 つ以上のコード コンポーネントへの参照を持つcdsproj
ソリューション プロジェクトをビルドします。 各コード コンポーネントは pac solution add-reference を使用して、cdsproj
に追加されます。 ソリューション プロジェクトには複数のコード コンポーネントへの参照を含めることができますが、コード コンポーネント プロジェクトには単一のコード コンポーネントのみを含めることができます。次の図は、
cdsproj
とpcfproj
プロジェクトの 1 対多の関係を示しています。
pcfproj コードコンポーネント プロジェクトのビルド
pcfproj
プロジェクトをビルドする際、生成された JavaScript は、ビルドに使用されるコマンドと pcfproj
ファイル内の PcfBuildMode
によって異なります。
通常、開発モードでビルドされた Microsoft Dataverse にコード コンポーネントをデプロイすることはありません。これは、コード コンポーネントはインポートするには大きすぎることが多く、実行時のパフォーマンスが低下する可能性があるためです。 詳細: Microsoft Dataverse にデプロイした後のデバッグ。
pac pcf push でリリース ビルドを作成するには、OutputPath
要素の下に新しい要素を追加することによって PcfBuildMode
を pcfproj
内に設定します。
<PropertyGroup>
<Name>my-control</Name>
<ProjectGuid>6aaf0d27-ec8b-471e-9ed4-7b3bbc35bbab</ProjectGuid>
<OutputPath>$(MSBuildThisFileDirectory)out\controls</OutputPath>
<PcfBuildMode>production</PcfBuildMode>
</PropertyGroup>
次の表は、どのコマンドにより開発ビルドとリリース ビルドが作成されるかを示しています。
pcfproj で使用されるビルド コマンド |
開発ビルド (デバッグ目的専用) |
リリース ビルド |
---|---|---|
npm start watch |
常時 | |
pac pcf push | 既定の動作または PcfBuildMode が pcfproj ファイルで development に設定されている場合 |
PcfBuildMode は、pcfproj ファイルで production に設定されています |
npm run build |
既定の動作 | npm run build -- --buildMode production |
.cdsproj ソリューション プロジェクトのビルド
ソリューション プロジェクト (.cdsproj
) を構築すると、出力をマネージドまたはアンマネージド ソリューションとして生成するオプションがあります。 マネージド ソリューションは、そのソリューションの開発環境ではない任意の環境に配置するために使用されます。 これには、テスト、UAT、SIT、および運用環境が含まれます。 詳細: 管理ソリューションとアンマネージド ソリューション。
SolutionPackagerType
は、pac solution init によって作成される .cdsproj
ファイルに含まれますが、最初はコメント アウトしました。コメントを解除し、マネージド、アンマネージドまたは両方に設定します。
<!-- Solution Packager overrides, un-comment to use: SolutionPackagerType (Managed, Unmanaged, Both) -->
<PropertyGroup>
<SolutionPackageType>Managed</SolutionPackageType>
</PropertyGroup>
次の表は、どのコマンドと構成により開発ビルドとリリース ビルドが作成されるかを示しています:
cdsproj で使用されるビルド コマンド |
SolutionPackageType |
出力 |
---|---|---|
msbuild |
マネージド型 | 管理 ソリューション内の開発ビルド |
msbuild /p:configuration=Release |
マネージド型 | 管理 ソリューション内のリリース ビルド |
msbuild |
アンマネージド | アンマネージド ソリューション内の開発ビルド |
msbuild /p:configuration=Release |
アンマネージド | アンマネージド ソリューション内のリリース ビルド |
コード コンポーネントによるソース コード管理
コード コンポーネントを開発する際は、Azure DevOps または GitHub のようなソース コード管理プロバイダーを使用することをお勧めします。 git ソース管理を使用して変更をコミットする場合、pac pcf init テンプレートが提供する .gitignore
ファイルは、一部のファイルがソース管理に追加されないようにします。これは、npm
によって復元されていないか、またはまたは、ビルドプロセスの一部として生成されているためです。
# <a name="dependencies"></a>dependencies
/node_modules
# <a name="generated-directory"></a>generated directory
**/generated
# <a name="output-directory"></a>output directory
/out
# <a name="msbuild-output-directories"></a>msbuild output directories
/bin
/obj
/out
フォルダが除外されているため、結果として bundle.js
ファイル (および関連リソース) ビルトは、ソース管理に追加されません。 コード コンポーネントが手動で、または自動ビルド パイプラインの一部としてビルドされる場合、bundle.js
は、すべての変更が確実に含まれるように、最新のコードを使用してビルドされます。
また、ソリューションが構築されても、関連するソリューションの ZIP ファイルはソース管理にコミットされません。 代わりに、出力はバイナリ リリースのアーティファクトとして公開されます。
コード コンポーネントで SolutionPackager を使用する
ソースが pcfproj
と cdsproj
を管理するだけでなく、SolutionPackager は、ソース管理にコミットできる一連の XML ファイルとして、ソリューションをそれぞれの部分に段階的に解凍するために使用できます。 これには、メタデータの全体像を人間が読める形式で作成できるという利点があるため、プル要求または類似するものを使用して変更を追跡できます。 環境のソリューション メタデータに変更が加えられるたびに、Solution Packager を使用して解凍し、変更を変更セットとして表示できます。
注意
現時点では、変更を Dataverse ソリューションからエクスポートするために段階的に使用できるという点で、SolutionPackager は pac solution clone を使用することとは異なります。
コード コンポーネントを、テーブル、モデル駆動型アプリ、キャンバス アプリなどの他のソリューション要素と組み合わせている場合は、通常 cdsproj
プロジェクトのビルドは必要ありません。 代わりに、ビルドされたアーティファクトを pcfproj
からソリューションのパッケージ フォルダに移動させてから、インポート用に再パックします。
コード コンポーネントを含むソリューションを、SolutionPackager /action: Extract
を使用して解凍したら、次のようになります:
.
├── Controls
│ └── prefix_namespace.ControlName
│ ├── bundle.js *
│ └── css
│ └── ControlName.css *
│ ├── ControlManifest.xml *
│ └── ControlManifest.xml.data.xml
├── Entities
│ └── Contact
│ ├── FormXml
│ │ └── main
│ │ └── {3d60f361-84c5-eb11-bacc-000d3a9d0f1d}.xml
│ ├── Entity.xml
│ └── RibbonDiff.xml
└── Other
├── Customizations.xml
└── Solution.xml
Controls
フォルダーの下に、には、ソリューションに含まれる各コード コンポーネントのサブフォルダーが表示されます。 他のフォルダーには、ソリューションに追加されたその他のソリューション コンポーネントが含まれています。
このフォルダー構造をソース管理にコミットする場合、上にのアスタリスク (*) がついたファイルは除外します。これは、pcfproj
プロジェクトが対応するコンポーネント用にビルドされたときの出力となるためです。
必要な唯一のファイルは、*.data.xml
ファイルです。これには、パッケージ化プロセスに必要なリソースを説明するメタデータが含まれているためです。 各コード コンポーネントがビルドされた後、out
フォルダーのファイルは、SolutionPackager フォルダーのそれぞれのコントロール フォルダーにコピーされます。 ビルド出力が追加されると、パッケージ フォルダーには、SolutionPackager /action: Pack
を使って Dataverse ソリューションに再パックするのに必要なすべてのデータが含まれます。
詳細: SolutionPackager コマンドライン引数。
コード コンポーネント ソリューション戦略
コード コンポーネントは、Dataverse ソリューションを使用してダウンストリーム環境に展開されます。 開発環境に展開されると、他のソリューション コンポーネントと同じ方法でデプロイできます。 詳細情報 ソリューションの概念 - Power Platform を参照してください。
ソリューション内にコード コンポーネントを展開するには、次の 2 つの戦略があります。
セグメント化されたソリューション - ソリューション プロジェクトは、pac solution init、pac solution add-reference を使用して作成され、1 つ以上のコード コンポーネントを追加します。 このソリューションは、ダウンストリーム環境にエクスポートおよびインポートできます。他のセグメント化されたソリューションは、コード コンポーネント ソリューションに依存するため、最初にその環境に展開する必要があります。 これは、全体的な機能が異なるソリューション セグメントとレイヤーに分割され、相互依存関係がソリューション フレームワークによって追跡されるため、ソリューション セグメンテーションと呼ばれます。 このアプローチを使用する場合、複数の開発環境 (セグメント化されたソリューションごとに 1 つずつ) が必要になる可能性があります。 詳細情報、Power Apps でセグメント化されたソリューションを使用するを参照してください。
単一ソリューション - 単一ソリューションは、Dataverse 環境内で作成され、次に環境とコード コンポーネントが、他のソリューション コンポーネント(テーブル、モデル駆動型アプリ、キャンバス アプリなど) とともに追加され、それらのコード コンポーネントが参照されます。 このソリューションは、ソリューション間の依存関係なしに、ダウンストリーム環境にエクスポートおよびインポートできます。 このアプローチでは、コードと環境のブランチが重要になり、別の領域で行われている変更を行わずに、ソリューションの一部に更新を展開できます。 詳細: Microsoft Power Platform とのブランチおよびマージ戦略。
混合単一ソリューションアプローチよりもセグメント化ソリューションアプローチを採用する理由は次のとおりです。
バージョン管理のライフサイクル - ソリューションの他の部分とは別のライフサイクルで、コード コンポーネントを開発、展開、バージョン管理する場合。 これは、開発者が構築したコード コンポーネントがアプリ作成者によって消費されている「フュージョン チーム」がある場合の一般的なシナリオです。 通常、これは、コード コンポーネントが他のソリューション コンポーネントとは異なるコード リポジトリに存在することも意味します。
共有使用 - コード コンポーネントを複数の環境間で共有したいため、コード コンポーネントを他のソリューション コンポーネントと結合したくない場合。 これは、ISV である場合や、それぞれが独自の環境を持つ組織のさまざまな部分で使用するコード コンポーネントを開発している場合が考えられます。
次の図は、これら 2 つのアプローチのソリューション ライフサイクルの概要を示しています:
次の図は、次の点を説明しています:
PAC CLI を使用してプッシュ - コード コンポーネントを Dataverse 内部でテストする準備ができたら、pac pcf push を使って開発環境へ展開します。 これにより、PowerAppsTools_namespace という名前のアンマネージド ソリューションが作成されます。この場合、namespace はコード コンポーネントを展開する目的で使用するソリューション プロバイダーの名前空間接頭辞です。 ソリューション プロバイダーはターゲット環境にすでに存在している必要があり、ダウンストリーム環境で使用するものと同じ名前空間の接頭辞を持っている必要があります。デプロイ後、テスト用にコードコンポーネントをモデル駆動型またはキャンバス アプリに追加できます。
注意
上記のように、開発ではなく本番用に最適化されたコードを展開するよう、本番ビルド用にコード コンポーネント
cdsproj
を構成することが重要です。既存のコードコンポーネントを追加する (PAC CLI のデプロイ後) -単一ソリューションのアプローチを使用している場合、デプロイすると、コード コンポーネントを別のソリューションに追加できます。 (このソリューションは、PowerAppsToolsソリューションで使用しているものと同じソリューション発行者を共有する必要があります。)
アンマネージド ソリューション プロジェクトを構築する - ソリューション
cdsproj
プロジェクトを使用している場合、アンマネージド ソリューションはmsbuild
を使ってビルドでき、次に開発環境にインポートします。既存のコード コンポーネントを追加する (ソリューション プロジェクトのデプロイ後) - pac pcf push 後とほぼ同じ方法で、ソリューション プロジェクト ビルドからインポートされたコード コンポーネントは、同じソリューション発行者接頭辞が使用されていれば、混合ソリューションに追加できます。
単一のソリューションを管理対象としてエクスポート - 単一の混合コンポーネント ソリューションは、管理対象としてエクスポートし、ダウンストリーム環境にインポートできます。 コード コンポーネントと他のソリューション コンポーネントは同じソリューションに展開されるため、すべて同じソリューションとバージョン管理戦略を共有します。
コード コンポーネントのセグメント化されたソリューションを管理対象としてエクスポート - セグメント化されたソリューション アプローチを使用している場合は、コード コンポーネント ソリューション プロジェクトを管理対象としてダウンストリーム環境にエクスポートできます。
管理対象としてコード コンポーネントのセグメント化されたソリューションをビルドする - セグメント化されたソリューションを使用していて、アンマネージドソリューションが必要ない場合、
msbuild /p:configuration=Release
を使用してソリューション プロジェクトを管理ソリューションとして直接ビルドできます。 次に、これをコード コンポーネントに依存する必要のある環境にインポートできます。セグメント化されたコード コンポーネント ソリューションを消費する- マネージド セグメント化ソリューションを介してコード コンポーネントを展開すると、コード コンポーネント ソリューションに依存して、他のソリューションをビルドできます。 コード コンポーネントへの依存関係は、ソリューションのタイプ 66 の
MissingDependencies
セクションに記載されています。 詳細: ソリューション コンポーネントの依存関係の追跡。コード コンポーネントのセグメント化されたソリューションを、使用するソリューションの前にデプロイする - セグメント化されたコード コンポーネント ソリューションに依存するソリューションをインポートする場合、インポートする前にコード コンポーネント ソリューションをターゲット環境にインストールする必要があります。
詳細: ソリューションを使用した拡張機能のパッケージ化および配布.
コード コンポーネントと自動ビルド パイプライン
コード コンポーネント ソリューションを手動でビルドして展開するだけでなく、自動ビルド パイプラインを使用してコード コンポーネントをビルドおよびパッケージ化することもできます。
- Azure DevOps を使用している場合、Azure DevOps に対して Microsoft Power Platform ビルド ツール を使用できます。
- GitHub を使用している場合、Power Platform GitHub Actions を使用できます。
自動化されたビルド パイプラインを使用することの利点は以下の通りです:
- 時間効率 - 手動タスクを削除すると、コンポーネントのビルドとパッケージ化のタスクが迅速になり、変更がチェックインされるたびなど、定期的に実行できるようになります。
- 繰り返し可能 - ビルド プロセスが自動化されると、毎回同じように実行されるため、ビルドを実行するチームのメンバーによって変化しません。
- バージョン管理の一貫性 - ビルド パイプラインがコード コンポーネントとソリューションのバージョンを自動的に設定すると、新しいビルドが作成されたときに、以前のバージョンと一貫したバージョン管理を徹底できます。 これにより、機能、バグ修正、および展開の追跡が容易になります。
- 保守性の高さ - ソリューションのビルドに必要なものはすべてソース管理内から含まれているため、コードをチェックアウトすることで、いつでも新しいブランチや開発環境を作成できます。 更新をデプロイする準備ができたら、プル要求をダウンストリーム ブランチにマージできます。 詳細: Microsoft Power Platform とのブランチおよびマージ戦略。
上記のように、コード コンポーネントのソリューション管理には、セグメント化されたソリューション プロジェクト、またはモデル駆動型アプリ、キャンバス アプリ、コード コンポーネントが追加されるテーブルなどの他のアーティファクトを含む単一の混合ソリューションの 2 つのアプローチがあります。
セグメント化されたコード コンポーネント ソリューションプロジェクトを使用している場合は、プロジェクトを Azure DevOps パイプライン (Microsoft Power Platform ビルド ツールを使用) または GitHub パイプライン (GitHub アクションMicrosoft Power Platformを使用) 内部でビルドできます。 各コード コンポーネント pcfproj
フォルダーがソース管理に追加され (generated
、out
、node_modules
フォルダーを除く)、cdsproj
プロジェクトが作成され、ソース管理に追加する前にも各コード コンポーネントが pac solution add-reference を使って参照されます。 次に、パイプラインは次のことを実行します:
Solution.xml
ファイルのソリューション バージョンを、ビルドのバージョンに一致するよう更新します。 ソリューション バージョンは、ImportExportXml
/Version
属性内に保持されます。 バージョン管理戦略の詳細については、以下を参照してください。ControlManifest.Input.xml
ファイルでコード コンポーネント バージョンを更新します。 バージョンは、manifest
/control
/version
属性内に保管されます。 これは、ビルドされたすべてのpcfproj
プロジェクトに対して行う必要があります。- ワイルドカードの
*.cdsproj
を使って、引数/restore /p:configuration=Release
のMSBuild
タスクを実行します。 これにより、すべてのcdsproj
プロジェクトとその参照pcfproj
プロジェクトがビルドされます。 - ビルドされたソリューション zip をパイプライン リリース アーティファクトに収集します。 このソリューションには、
cdsproj
に参照として含まれているすべてのコード コンポーネントが含まれます。
コード コンポーネントに加えて他のコンポーネントを含む混合ソリューションを使用している場合、これは上記のように SolutionPackager を使用してソース管理に抽出されます。 次に、パイプラインは次のことを実行します:
- 上記手順 1 と手順 2 と同じ方法で、ソリューションとコード コンポーネントのバージョンを更新します。
- Microsoft Power Platform ビルド ツールを、
PowerPlatformToolInstaller
タスクを使ってビルド パイプラインにインストールします。 - コマンド
ci
を備えたNpm
タスクを使ってnode_modules
を復元します。 run build -- --buildMode release
のcustomCommand
パラメーターを備えたNpm
タスクを使って、本番リリース モードでコード コンポーネントをビルドします。- ビルドの出力を、対応する管理のソリューション パッケージャー フォルダーにコピーします。
- Power Platform ビルド ツール
PowerPlatformPackSolution
タスクを使ってソリューションをパッケージ化します。 - ビルドされたソリューション zip をパイプライン リリース アーティファクトに収集します。
後の工程で開発環境を作成できるように、アンパックされたソリューション メタデータをアンマネージド形式でソース管理にコミットすることをお勧めします。 管理ソリューション メタデータのみがコミットされた場合、新しい開発環境の作成は難しくなります。これには以下の 2 つのオプションがあります:
- Solution Packager の
/packagetype:Both
オプションを使用して管理とアンマネージドの両方をコミットします。 これにより、マネージド モードまたはアンマネージド モードのいずれかでパックできますが、ソース コード内で重複するという欠点があり、変更が複数の xml ファイル (管理バージョンとアンマネージドバージョンの両方) に表示されることがよくあります。 - アンマネージドをソース管理にのみコミットし (結果としてよりクリーンな変更セットになります)、ビルド パイプライン内でパッケージ化されたソリューションをビルド環境にインポートしてから管理対象としてエクスポートし、管理展開アーティファクトに変換できるようにします。
バージョン管理と更新の適用
コード コンポーネントをデプロイおよび更新するときは、次のことができるように、一貫したバージョン管理戦略を立てることが重要です:
- 含まれている機能/修正に対して、展開されているバージョンを追跡する。
- キャンバス アプリが最新バージョンに更新する必要があることを確実に検出する。
- その結果、モデル駆動型アプリはキャッシュを無効にし、新しいバージョンを読み込みます。
一般的なバージョン管理戦略はセマンティック バージョニングで、形式は次のとおりです: MAJOR.MINOR.PATCH
。
PATCH バージョンのインクリメント
ControlManifest.Input.xml
には、コントロール要素にコード コンポーネントのバージョンが保存されます:
<control namespace="..." constructor="..." version="1.0.0" display-name-key="..." description-key="..." control-type="...">
コード コンポーネントに更新を展開する場合、変更を検出するには、ControlManifest.Input.xml
のバージョンで少なくともその PATCH (バージョンの最後の部分) がインクリメントされている必要があります。 これは、バージョン属性を直接編集するか、次のコマンドを使用してパッチのバージョンを 1 つ進めることにより、手動で実行できます:
pac pcf version --strategy manifest
または、パッチ パーツの正確な値を指定するには (たとえば、自動ビルド パイプラインの一部として)、次を使用します:
pac pcf version --patchversion <PATCH VERSION>
詳細: pac pcf バージョン。
メジャーとマイナー バージョンをインクリメントするタイミング
コード コンポーネントのバージョンのメジャー バージョンとマイナー バージョンは、それが配布される Dataverse ソリューションと同期しておくことをお勧めします。 例:
- 展開されたコード コンポーネントのバージョンは
1.0.0
で、ソリューション バージョンは1.0.0.0
です。 - コード コンポーネントに小さな更新を加え、
pac pcf version --strategy manifest
を使用して、コード コンポーネントのパッチ バージョンを1.0.1
にインクリメントします。 - デプロイ用にコード コンポーネントをパッケージ化する場合、
Solution.xml
のソリューション バージョンは 1.0.0.1 に更新されます。または、ソリューションを手動でエクスポートすることにより、バージョンは自動的にインクリメントされます。 - メジャー バージョンとマイナー バージョンを 1.1.0.0 にインクリメントするように、ソリューションに大幅な変更を加えます。
- この場合、コード コンポーネントのバージョンを 1.1.0 に更新することもできます。
Dataverse ソリューションは 4 つの部分で構成されており、次の構造として考えることができます: MAJOR.MINOR.BUILD.REVISION
。
AzureDevOps を使用している場合、Build
と Rev
環境変数 (実行 (ビルド) 番号 - Azure パイプライン) を使ってビルド パイプライン バージョン管理を設定し、記事PowerShell スクリプトを使用してパイプラインをカスタマイズするで説明されているアプローチと同様の PowerShell スクリプトを使用します。
セマンティック バージョン パート | ControlManifest.Input.xml バージョン パートMAJOR.MINOR.PATCH |
Solution.xml バージョン パートMAJOR.MINOR.BUILD.REVISION |
AzureDevOps ビルド バージョン |
---|---|---|---|
MAJOR | MAJOR | MAJOR | パイプライン変数 $(majorVersion) を設定するか、またはソース管理に最後にコミットされた値を使用します。 |
MINOR | MINOR | MINOR | パイプライン変数 $(minorVersion) を設定するか、またはソース管理に最後にコミットされた値を使用します。 |
--- | --- | BUILD | $(Build.BuildId) |
PATCH | PATCH | REVISION | $(Rev:r) |
キャンバス アプリ ALM に関する考慮事項
キャンバス アプリでコード コンポーネントを使用することは、モデル駆動型アプリとは異なります。 インサート パネルで より多くのコンポーネントを入手する を選択することで、コード コンポーネントをアプリに明示的に追加する必要があります。 コード コンポーネントがキャンバス アプリに追加されると、アプリ定義内のコンテンツとして含まれます。 デプロイ後 (およびコントロール バージョンがインクリメントされた後) にコード コンポーネントの新しいバージョンに更新するには、アプリ作成者が Power Apps Studio で最初にアプリを開き、コード コンポーネントを更新するダイアログでプロンプトが表示されたら更新を選択します。 その後、ユーザーがアプリを使うときに使用する新しいバージョンのために、アプリを保存して公開する必要があります。
アプリが更新されていない場合、またはスキップが使用されている場合、アプリは新しいバージョンで上書きされているため、環境に存在していなくても、古いバージョンのコード コンポーネントを引き続き使用します。
アプリにはコード コンポーネントのコピーが含まれているため、異なるキャンバス アプリ内から単一の環境で異なるバージョンのコード コンポーネントを並べて実行することができます。 ただし、同じアプリで異なるバージョンのコード コンポーネントを並べて実行することはできません。 アプリ開発者は、新しいバージョンが配布された際には、アプリを最新のコード コンポーネントに更新することをお勧めします。
注意
現時点では、一致するコードコンポーネントがその環境にデプロイされていなくても、キャンバス アプリをインポートできますが、アプリが最新バージョンのコード コンポーネントを使用するように更新され、同じバージョンがその環境に最初に、または同じソリューションの一部として常にデプロイされていることが推奨されます。
関連記事
Microsoft Power Platform によるアプリケーション ライフサイクル管理 (ALM)
Power Apps Component Framework API の参照
最初のコンポーネントを作成する
コード コンポーネントのデバッグ
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。