次の方法で共有


ICEM05

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

マージ モジュールの ICEs は、パッケージ検証に使用される ICEs を含む .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 言語 バージョン
MyModule。GUID1 1033 1.0

 

ModuleComponents テーブル

コンポーネント ModuleID 言語
Component1 MyModule。GUID1 1033
Component2 OtherModule。GUID2 1033

 

コンポーネント テーブルの (部分)

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

 

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

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

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

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