公開日: 2017年2月

対象: Dynamics 365 (online)、Dynamics 365 (on-premises)、Dynamics CRM 2016、Dynamics CRM Online

ソリューションおよびソリューションの修正プログラムで配布する内容をより厳格にコントロールするには、ソリューションのセグメント化を使用します。Microsoft Dynamics 365 ソリューションのセグメント化では、すべての資産を含むエンティティ全体ではなく、選択したエンティティ資産 (エンティティ フィールド、フォーム、ビューなど) をソリューションと共にエクスポートできます。 セグメント化したソリューションおよび修正プログラムを作成するには、コードを書かないで、Dynamics 365 ユーザー インターフェイスを使用できます。

重要

この機能は、CRM Online 2016 更新プログラムおよび CRM 2016 (設置型) で導入されました。

この機能について詳しく知りたい場合は、 このリンクから CRM 管理者またはサポート担当者をお探しください。

ソリューション内の内容のコントロールの強化に加えて、修正プログラムの記述の内容もコントロールできます。 上位のソリューションの修正プログラムを作成して、それをマイナー更新プログラムとして基本ソリューションにエクスポートできます。 ソリューションを複製するときは、システムは基本ソリューションに関連するすべての修正プログラムをロールバックして、新しいバージョンを作成します。

修正プログラムおよび複製されたソリューションを使用するとき、以下の点に注意してください。

  • 修正プログラムは、上位のソリューションへの逐次のマイナーな更新プログラムを表しています。 修正プログラムは、ターゲット システムへのインストール時に、コンポーネントおよび資産を上位のソリューション内で追加または更新できますが、上位ソリューションからコンポーネントまたは資産を削除することはできません。

  • 修正プログラムは 1 つの上位のソリューションにしか対応できませんが、上位のソリューションは 1 つ以上の修正プログラムに対応できます。

  • 修正プログラムはアンマネージド ソリューションに対して作成されます。 管理ソリューションに対して修正プログラムを作成することはできません。

  • ターゲット システムに修正プログラムをエクスポートするときは、マネージド修正プログラムとしてエクスポートする必要があります。 運用環境では、アンマネージド修正プログラムを使用しないでください。

  • 修正プログラムをインストールするには、ターゲット システムに上位のソリューションが存在している必要があります。

  • 修正プログラムを削除または更新できます。

  • 上位のソリューションを削除すると、すべての子の修正プログラムも削除されます。 システムは、削除操作は元に戻すことができませんという警告メッセージを表示します。 削除は単一のトランザクションで実行されます。 修正プログラムの 1 つまたは親のソリューションを削除できなかった場合、トランザクション全体がロールバックされます。

  • 上位のソリューションの最初の修正プログラムを作成すると、そのソリューションはロックされ、このソリューションを変更することまたはエクスポートすることはできません。 ただし、その子の修正プログラムをすべて削除すると、上位のソリューションのロックが解除されます。

  • 基本ソリューションを複製するとき、すべての子の修正プログラムはその基本ソリューションにロールアップされて、その基本ソリューションが新しいバージョンになります。 複製されたソリューション内のコンポーネントおよび資産を追加、編集、または削除することができます。

  • 複製されたソリューションは、ターゲット システムにマネージド ソリューションとしてインストールされたときの基本ソリューションの置き換えを示します。 通常、複製されたソリューションを使用して、前のソリューションの重要な更新プログラムを配布します。

複製されたソリューションおよびと修正プログラムのバージョン番号について

ソリューションのバージョンの形式は major.minor.build.revision です。 修正プログラムのビルド番号またはリビジョン番号は、上位のソリューションよりも大きくする必要があります。 それよりも上位のメジャーまたはマイナー バージョンは使用できません。 たとえば、基本ソリューションのバージョンが 3.1.5.7 の場合、修正プログラムはバージョン 3.1.5.8 またはバージョン 3.1.7.0 になることはできますが、バージョン 3.2.0.0 になることはできません。 複製されたソリューションのバージョン番号は、基本ソリューションのバージョン番号以上になる必要があります。 たとえば、基本ソリューションのバージョンが 3.1.5.7 の場合、複製されたソリューションはバージョン 3.2.0.0 またはバージョン 3.1.5.7 になることができます。 UI で設定できるのは、複製ソリューションのメジャーおよびマイナー バージョンの値と、修正プログラムのビルドまたはリビジョンの値のみです。

セグメント化したソリューションを必要なエンティティ資産を使用して作成

セグメント化したソリューションを作成するには、アンマネージド ソリューションの作成と既存のリソースの追加から開始します。 複数のシステムやユーザー定義エンティティを追加できます。それらのエンティティごとに、ソリューションに含める資産を選択します。 ウィザード風のセットアップにより、エンティティ資産の追加のプロセスを段階的に進みます。

  1. [設定] > [ソリューション] に移動します。

  2. [新規] をクリックして、ソリューションを作成します。 必須フィールドに情報を入力します。[保存して閉じる] をクリックします。

  3. 作成したばかりのソリューションを開きます。[既存の追加] ドロップダウン リストで、[エンティティ] を選択します。

  4. [ソリューション コンポーネントの選択] ダイアログ ボックスで、ソリューションに追加する 1 つ以上のエンティティを選択します。[OK] をクリックします。

  5. ウィザードが開きます。 ウィザードの指示に従って、選択した各エンティティの資産をソリューションに追加します。

  6. [公開] をクリックして、変更を有効にします。

次の図に、エンティティ資産をAccountエンティティ、Caseエンティティ、およびContactエンティティから選択してセグメント化したソリューションを作成した例を示します。

[エンティティ] コンポーネントの選択から開始します。

Add existing resources.

次に、ソリューション コンポーネントを選択します。

Select solution's components.

ウィザードに従います。 手順 1 で、アルファベット順に開始して、次のように、最初のエンティティであるAccountエンティティの資産を選択します。

Start the wizard.

[フィールド] タブを開き、[取引先企業番号] フィールドを選択します。

Select the Account entity assets.

手順 2 で、[サポート案件] エンティティについて、すべての資産を追加します。

Select the Case entity assets.

手順 3 で、[取引先担当者] エンティティの [記念日] フィールドを追加します。

Select the Contact entity assets.

その結果、作成したセグメント化されたソリューションには、AccountCase、およびContactの 3 つのエンティティが含まれます。 各エンティティには選択した資産のみが含まれます。

Solution with entities.

ソリューション修正プログラムの作成

修正プログラムには、コンポーネントおよび資産の追加または編集などの、上位のソリューションへの変更が含まれています。 上位のコンポーネントを編集する場合でない限り、上位コンポーネントを含める必要はありません。

次の手順では、アンマネージド ソリューションの修正プログラムの作成方法を説明します。

  1. [設定] > [ソリューション] に移動します。

  2. グリッドで、修正プログラムを作成する対象のアンマネージド ソリューションを選択します。[修正プログラムの複製] をクリックします。 開いたダイアログ ボックスに、基本ソリューションの名前と修正プログラムのバージョン番号が含まれています。保存 をクリックします。

  3. グリッドで、新しく作成された修正プログラムを見つけて開きます。 基本ソリューションの場合とまったく同様に、ウィザードに従って、必要な資産とコンポーネントを追加します。

  4. 変更を反映するには、[公開​​] をクリックします。

次の図に、既存のソリューションの修正プログラムを作成する例を示します。[修正プログラムの複製] をクリックして開始します (圧縮されたビューでは、[修正プログラムの複製] アイコンは、次に示すように、2 つの小さい正方形として表示されます)。

Clone a patch icon.

[修正プログラムに対する複製] ダイアログ ボックスで、修正プログラムのバージョン番号は上位のソリューションのバージョン番号が基になっているが、ビルド番号は 1 つずつ増加することが分かります。 後続の各修正プログラムのビルドまたはリビジョン番号は、直前の修正プログラムよりも大きくなっています。

Use Clone To Patch dialog.

次のスクリーンショットは、基本ソリューション [SegmentedSolutionExample] のバージョン [1.0.1.0] と、修正プログラム [SegmentedSolutionExample_Patch] のバージョン [1.0.2.0] を示しています。

A grid with solutions and patches.

修正プログラムでは、Book という名前の新しいユーザ定義エンティティを追加して、Book エンティティのすべての資産をその修正プログラムに含めました。

Add custom entity in the patch.

ソリューションの複製

アンマネージド ソリューションを複製すると、このソリューションに関連するすべての修正プログラムが元のソリューションの新しく作成したバージョンにロールアップされます。

  1. [設定] > [ソリューション] に移動します。

  2. リストから、複製するアンマネージド ソリューションを選択します。[ソリューションの複製] をクリックします。 開いたダイアログ ボックスには、基本ソリューションの名前と新しいバージョン番号が含まれています。保存 をクリックします。

  3. 変更を反映するには、[公開​​] をクリックします。

例を続行すると、新しいバージョン番号を示す [ソリューションに対する複製] ダイアログ ボックスが表示されます。

Use Clone To Solution dialog.

複製が完了すると、ソリューションの新しいバージョンに 3 つの元のエンティティ (AccountCase、およびContact) と、修正プログラムに追加したBookという名前のユーザー定義エンティティが格納されています。 各エンティティには、この例で追加した資産のみが含まれます。

A cloned solution with rolled up patch.

関連項目

カスタマイズでのソリューションの使用
ソリューションの更新プログラムを簡易化する修正プログラムの作成

© 2017 Microsoft. All rights reserved. 著作権