次の方法で共有


ICEM05

ICEM05 では、マージ モジュールがモジュール内のコンポーネントに正しく関連付けられていることを確認します。 コンポーネントをモジュールに誤って関連付けると、コンポーネントがターゲット データベースに誤って関連付けられます。

マージ モジュールの ICE は、パッケージ検証に使用される ICE を含む .cub ファイルではなく、Mergemod.cub というマージ モジュールの .cub ファイルに保存されます。

結果

ICEM05 では、モジュール データベースがコンポーネントとモジュールを誤って関連付ける場合にエラーをポストします。

ICEM05 では、以下に示されたデータベース エントリが含まれるモジュールに関する次のエラー メッセージがポストされます。

The component Component2.OtherModule.GUID2.1033 in the 
ModuleComponents table does not belong to this Merge Module.
The component Component1.MyModule.GUID1.1033 in the ModuleComponents 
table is not listed in the Component table.
The component 'Component3' in the Component table is not listed in the 
ModuleComponents table.

ModuleSignature テーブル

ModuleID Language Version
MyModule.GUID1 1033 1.0

 

ModuleComponents テーブル

コンポーネント ModuleID Language
Component1 MyModule.GUID1 1033
Component2 OtherModule.GUID2 1033

 

Component テーブル (一部)

コンポーネント ComponentID
Component3 GUID4
Component2 GUID5

 

ModuleComponents テーブルが ModuleSignature テーブルで指定されている現在のモジュールではない別のモジュールにコンポーネントを関連付けようとするため、マージ モジュール ICE で最初のエラーが報告されます。 これを修正するには、Component2 の ModuleComponents レコードの ModuleID 列と Language 列を、現在のモジュール MyModule.GUID1 のものに変更します。

ModuleComponents テーブルの最初のレコードが Component1 をモジュールに関連付けようとするため、マージ モジュール ICE で 2 番目のエラーが報告されます。 このコンポーネントは、マージ モジュールの Component テーブルに存在しません。 モジュールは、モジュール内に存在するコンポーネントにのみ関連付けることができます。 これを修正するには、存在しないコンポーネントのレコードを削除します。

モジュールがターゲット データベースに Component3 を追加しようとするため、マージ モジュール ICE で 3 番目のエラーが報告されます。 このコンポーネントは ModuleComponents テーブル内のモジュールに関連付けられていません。 このエラーを修正するには、Component3 のレコードを ModuleComponents テーブルに追加します。

マージ モジュール ICE リファレンス