Solution

Dataverse ソリューション プロジェクト で使用するコマンド。

パラメーター

プロパティ名 内容
add-license ソリューションにライセンスとプラン情報を追加します。 これには次のパラメータが使用されています :
  • planDefinitionFile: CSV 形式のライセンス プラン定義ファイルです。必要な列: サービス ID、表示名、詳細情報 URL (エイリアス: -pd)
  • planMappingFile: CSV 形式のライセンス プラン マッピング ファイルです。必要な値: Service ID, Component name (エイリアス: -pm)
add-reference pathパラメータを渡すことで、コンポーネント プロジェクト フォルダーへの参照パスを設定します。 pac solution add-reference --path c:\Users\Downloads\SampleComponent
check 一連のベスト プラクティスに照らして、ソリューションの静的分析チェックを実行します。 これには次のパラメータが使用されています :
  • path: ソリューション .zip ファイルへのパスです (エイリアス: -p)。
  • outputDirectory: ソリューションの zip ファイルを保存する出力ディレクトリです (エイリアス: -o)。
  • geo: ソリューション チェッカーを実行する必要がある環境の地理的な場所です。 次の値があります: PreviewUnitedStates、UnitedStates、Europe、Asia、Australia、Japan、India、Canada、SouthAmerica、UnitedKingdom、France、Germany、UnitedArabEmirates、Switzerland、USGovernment、USGovernmentL4、USGovernmentL5DoD、China
  • ruleLevelOverride: 上書きする JSON 配列ルールとレベルを含むファイルへのパスです。 次の値があります: Critical, High, Low, Medium, Informational
pac solution check --path c:\Users\Documents\Solution.zip --outputDirectory c:\samplepackage --geo UnitedStates
clone 既存のソリューション プロジェクトに基づいたソリューション プロジェクトを作成します。 これには次のパラメータが使用されています。
  • name: エクスポートするソリューションの名前。
  • include: エクスポートするソリューションに含める必要がある設定。 次の値があります: autonumbering、calendar、customization、emailtracking、externalapplications、general、isvconfig、marketing、outlooksynchronization、relationshiproles、sales
pac solution clone -–name sampleSolution --version 1.0.0.2 --include general
create-settings 環境変数や接続参照を設定に取り込んだ設定ファイルを作成する機能を提供します。 これには次のパラメータが使用されています :
  • solution-zip: エクスポートされたソリューション ファイルへの絶対パス名または相対パス名 (エイリアス: -z)。
  • solution-folder: ファイル システム上の複製されたソリューションのフォルダーの場所。ソリューションの zip ファイルまたはソリューション フォルダーの場所のいずれかを使用できますが、両方を一緒に使用することはできません (エイリアス: -f)。
  • settings-file: 環境変数と接続参照情報を使用して作成されるファイルの場所。 作成されるファイルの形式はJSONです (エイリアス: -s)。
pac solution create-settings --solution-zip C:\SampleSolution.zip --settings-file .\SampleDeploymentSettingsDev.json
削除 現在の Dataverse 環境からソリューションを削除します。 これには次のパラメータが使用されています:
  • solution-name: 削除するソリューションの名前 (別名: -sn)。
pac solution delete --solution-name Samplesolution
エクスポート Dataverse ソリューションを環境からエクスポートします。 環境認証コマンドに接続している必要があり、次のパラメーターがあります。
  • path: エクスポートしたソリューションの .zip ファイルが保存される場所の完全なファイル名。
  • name: エクスポートする必要があるソリューションの名前。
  • managed: ソリューションを管理ソリューションとしてエクスポートする必要があるかを定義します。
  • include: エクスポートするソリューションに含める必要がある設定。
pac solution export --path c:\Users\Documents\Solution.zip --name SampleComponentSolution --managed true --include general
import Dataverse ソリューションを環境へインポートします。 環境認証コマンドに接続している必要があり、次のパラメーターがあります。
  • activate-plugins: インポート後、環境内のプラグインとワークフローをアクティブ化します (エイリアス: -ap)。
  • async: ソリューションを非同期でインポートします (エイリアス: -a)。
  • force-overwrite: 管理されていないカスタマイズの上書きを強制します (エイリアス: -f)。
  • import-as-holding: ソリューションを保持ソリューションとしてインポートします (エイリアス: -h)。
  • max-async-wait-time: 分単位での最大非同期待機時間。 規定値は 60 分です (エイリアス: -wt)。
  • path: ソリューション .zip ファイルへのパス。 指定しない場合、現在のフォルダー (エイリアス: -p) を想定します。
  • publish-changes: インポートが成功した後に変更を公開します (エイリアス: -pc)。
  • skip-dependency-check: 製品の更新プログラムとしてフラグが立てられた依存関係に対する依存関係チェックをスキップします (エイリアス: -s)。
  • convert-to-managed: このパラメーターは、アンマネージド ソリューションを取得せず、マネージとしてインポートします。 このパラメータにより、環境にインポートされているマネージド ソリューションが、アンマネージド コンポーネントをマネージドに変換できるようになります。 このフラグが明示的に設定されていない場合、管理されたレイヤーは管理されていないベース・コンポーネントの上に乗ることができないため、ソリューション システムはインポート要求に失敗します。 このスイッチにより、ソリューションのインポートが成功し、最終的にはインバウンドのマネージド ソリューションが各コンポーネントのベースレイヤーとなり、デスティネーション環境のコンポーネントがアンマネージド コンポーネントからマネージド コンポーネントに変換されます。
pac solution import --path c:\Users\Documents\Solution.zip
init ソリューション プロジェクトを初期化します。 これには次のパラメータが使用されています :
  • publisher-name: 組織の公開元の名前。
  • publisher-prefix: 組織の公開元のプレフックス。
pac solution init --publisher-name developer --publisher-prefix dev
list Dataverse 環境からのすべてのソリューションを一覧表示します。 認証コマンド環境に接続している必要があります。 このコマンドには、パラメーターがありません。 pac solution list
online-version Dataverse 環境に読み込まれているソリューションのバージョンを設定します。 これには次のパラメータが使用されています :
  • solution-name: 削除するソリューションの名前 (別名: -sn)。
  • solution-version: ソリューションのバージョンを指定します (エイリアス: sv)。
pac solution online-version --solution-name Samplesolution --solution-version 1.0.0.2
pack ファイル システム上のファイルをソリューションの zip ファイルにパックする機能を提供します。 これには次のパラメータが使用されています :
  • zipfile: 生成されたソリューション ZIP ファイルへの絶対パス名または相対パス名 (エイリアス: -z)。
  • folder: ローカル ファイル システム上のルート フォルダへのパスで、コンテンツが読み込まれるフォルダとなります (エイリアス: -f)。
  • packagetype: Managed と Unmanaged の二重操作を指定するために使用します (エイリアス: -p)。
  • log: ログ ファイルへのパスです (エイリアス: -l)。
  • errorlevel: ログ出力の最小ログ レベル。 次の値があります: Verbose, Info, Warning, Error, Off。 既定値は Info です (エイリアス: -e)。
  • singleComponent: 1 つのコンポーネント タイプに対してアクションを実行します。 次の値があります: WebResource, Plugin, Workflow, None。 既定値は None です(エイリアス: -sc)。
  • allowDelete: 削除操作を実行するかどうかを指定します。 次の値があります: Yes, No, Prompt。 既定は Prompt です (エイリアス: -ad)。
  • allowWrite: 書き込み操作を実行するかどうかを指定します。 既定値は false です (エイリアス: -aw)。
  • clobber: 読み取り専用としてマークされているファイルを削除または上書きできるようにします。 既定値は false です (エイリアス: -c)。
  • map: コンポーネントのフォルダを読み込んでパックするマッピング XML ファイルのフルパスです (エイリアス: -m)。
  • sourceLoc: テンプレートのリソース ファイルを生成します。 次の値があります: エクスポートする言語の auto, LCID, ISO code。 設定すると、指定したロケールの文字列リソースが中立的な resx ファイルとして展開されます。 自動またはスイッチの長体または短体のみが指定された場合は、ソリューションの基本ロケールが使用されます (エイリアス: -src)。
  • localize: すべての文字列リソースを .resx ファイルに抽出します (エイリアス: -loc)
  • useLcid: 言語ファイルの ISO コード (en-US) ではなく LCID の (1033) を使用します (エイリアス: -lcid)。
  • useUnmanagedFileforMissingManaged: Managed のパッケージで Unmanaged XML ファイルしか見つからない場合は、同じ XML ソース ファイルを使用します。 AppModuleSiteMapAppModuleMapFormXmlファイルに適用されます (エイリアス: -same)。
pac solution pack --zipfile C:\SampleSolution.zip --folder .\SampleSolutionUnpacked\.
publish すべてのカスタマイズを公開します。 pac solution publish
unpack ファイル システムにエクスポートされたソリューションの Zip ファイルを解凍する機能を提供します。 これには次のパラメータが使用されています :
  • zipfile: エクスポートされたソリューション ファイルへの絶対パス名または相対パス名 (エイリアス: -z)。
  • folder: ローカルファイルシステムのルート フォルダへのパスです。 このフォルダには、解凍されたコンテンツが書き込まれます (エイリアス: -f)。
  • packagetype: Managed と Unmanaged の二重操作を指定するために使用します (エイリアス: -p)。
  • log: ログ ファイルへのパスです (エイリアス: -l)。
  • errorlevel: ログ出力の最小ログ レベル。 次の値があります: Verbose, Info, Warning, Error, Off。 既定値は Info です (エイリアス: -e)。
  • singleComponent: 1 つのコンポーネント タイプに対してアクションを実行します。 次の値があります: WebResource, Plugin, Workflow, None。 既定値は None です(エイリアス: -sc)。
  • allowDelete: 削除操作を実行するかどうかを指定します。 次の値があります: Yes, No, Prompt。 既定は Prompt です (エイリアス: -ad)。
  • allowWrite: 書き込み操作を実行するかどうかを指定します。 既定値は false です (エイリアス: -aw)。
  • clobber: 読み取り専用としてマークされているファイルを削除または上書きできるようにします。 既定値は false です (エイリアス: -c)。
  • map: コンポーネントのフォルダを読み込んでパックするマッピング XML ファイルのフルパスです (エイリアス: -m)。
  • sourceLoc: テンプレートのリソース ファイルを生成します。 次の値があります: エクスポートする言語の auto, LCID, ISO code。 設定すると、指定したロケールの文字列リソースが中立的な resx ファイルとして展開されます。 自動またはスイッチの長体または短体のみが指定された場合は、ソリューションの基本ロケールが使用されます (エイリアス: -src)。
  • localize: すべての文字列リソースを .resx ファイルに抽出します (エイリアス: -loc)
  • useLcid: 言語ファイルの ISO コード (en-US) ではなく LCID の (1033) を使用します (エイリアス: -lcid)。
  • useUnmanagedFileforMissingManaged: Managed のパッケージで Unmanaged XML ファイルしか見つからない場合は、同じ XML ソース ファイルを使用します。 AppModuleSiteMapAppModuleMapFormXmlファイルに適用されます (エイリアス: -same)。
pac solution unpack --zipfile C:\SampleSolution.zip --folder .\SampleSolutionUnpacked\.
upgrade ソリューションをアップグレードするコマンドです。 これには次のパラメータが使用されています :
  • solution-name: ソリューションの名前です (エイリアス: -sn)。
  • async: ソリューションを非同期で更新します (エイリアス: -a)。
  • max-async-wait-time: 分単位での最大非同期待機時間。 規定値は 60 分です (エイリアス: -wt)。
pac solution upgrade --solution-name SampleSolution --async --max-async-wait-time 60
version 既存のソリューションのバージョンを更新します。 これには次のパラメータが使用されています :
  • patchversion: ソリューションのパッチ バージョン (エイリアス: -pv )です。
  • strategy: Solution.xml ファイルのパッチ バージョンを指定されたストラテジーで更新します。 次の値を持っています。
    • gittags: Gitタグを使用して、特定のソリューションのパッチバージョンを更新する必要があるかどうかを判断します。 環境変数 PacCli.PAT に個人用アクセス トークンを設定する (エイリアス:-s)。
    • filetracking: .csv ファイルを使用して、特定のソリューションのパッチバージョンを更新する必要があるかどうかを判断します。
    • solution: パッチ バージョンを更新する必要があるソリューション ファイルです。
  • filename: filetracking を戦略として使用する際に使用する CSV ファイル名です。 既定値は ControlStateVersionInfo.csv です (エイリアス: -fn)。
pac solution version --patchversion 2

pac solution version --strategy gittags

pac ソリューション クローンとエクスポートの違い

pac solution clone または pac solution export コマンドをいつ使用したらよいかわからない場合があります。 次のシナリオでコマンドの 1 つを使用できます。

  • 新しいコンポーネントをソリューションに追加する必要がある場合、pac solution clone を使用します。
  • ソリューション ファイル内の既存のコンテンツを変更したいが、ソリューションに新しいコンポーネントを追加したくない場合、pac solution export を使用します。

pac solution clone

pac solution clone コマンドを使用してソリューションをエクスポートする場合、エクスポートされたソリューションは Visual Studio プロジェクトのようになります。 .csproj (Visual Studio のような) の代わりに、cdsproj ファイルが表示されます。 cdsproj ファイルには、プロジェクトのビルドに必要なすべてのコンポーネント情報が含まれています。 ビルド出力は、さまざまな環境にインポートできるソリューションの zip ファイルです。

pac ソリューション クローン。

src (ソース) フォルダー内に解凍された形式でレンダリングされるため、開発者はクローン化されたソリューションを解凍する必要はありません。

Pac ソリューションを解凍しています。

次に、新しく作成したプラグインをこのソリューションに関連付け、ソリューションを解凍した場合は、pac solution add-reference を使用して、.cdsproj ファイルを更新し、新しいプラグインを追加できます。 次に、dotnet build または msbuild のいずれかを使用してプロジェクトをビルドできます。

プロジェクトをビルドする前に、まずビルドの復元を行うことをお勧めします。 ビルド復元 (dotnet ビルドは最初に自動的に復元を実行する) は、パックされたソリューションを生成するために必要な .NET ライブラリを復元します。

pac solution export

pac solution export を使用してソリューションをエクスポートする場合、作成者のポータルを使用してソリューションをエクスポートしているように感じ、結果の出力はソリューションの zip ファイルになります。

Pac ソリューションのエクスポート。

ソリューションの zip ファイルを解凍する場合 (標準のツールで zip を開き、CLI から適切なコマンドを使用することはお勧めしません)。 結果のディレクトリ構造は、pac solution clone の構造に似ています。 唯一の違いは、.cdsproj プロジェクト ファイルにはないので、この解凍されたソリューションには参照を追加できないことです。

Pac ソリューションのソリューション構造。

更新する関連ファイルのセットを変更してから、ソリューション パックに進むことができ、これにより、ソリューションの zip ファイルが再度生成され、ソリューションをターゲット環境に簡単にインポートできます。 アクションの結果は、更新されたコンテンツと更新されたタイムスタンプを含むソリューション zip ファイルです。

関連項目

Power Apps Component Framework の概要

Microsoft Power Platform CLI とは