ICEM05

ICEM05 验证合并模块是否与模块中的组件正确关联。 错误地将组件与模块关联会导致组件与目标数据库错误地关联。

合并模块 ICE 存储在名为 Mergemod.cub 的合并模块 .cub 文件中,而不是存储在包含用于包验证的 ICE 的 .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 2052 1.0

 

ModuleComponents 表

组件 ModuleID 语言
Component1 MyModule.GUID1 2052
Component2 OtherModule.GUID2 2052

 

Component 表(部分)

组件 ComponentID
Component3 GUID4
Component2 GUID5

 

合并模块 ICE 报告第一个错误,因为 ModuleComponents 表试图将组件与另一个模块相关联,而该模块不是 ModuleSignature 表中指定的当前模块。 若要解决此问题,请将 Component2 的 ModuleComponents 记录的 ModuleID 和 Language 列更改为当前模块 MyModule.GUID1 的 ModuleID 和 Language 列。

合并模块 ICE 报告第二个错误,因为 ModuleComponents 表中的第一条记录试图将 Component1 与模块相关联。 合并模块的 Component 表中不存在此组件。 模块只能与其中存在的组件相关联。 若要解决此问题,请删除不存在的组件的记录。

合并模块 ICE 报告第三个错误,因为模块试图将 Component3 添加到目标数据库。 此组件尚未与 ModuleComponents 表中的模块相关联。 若要修复此错误,请将 Component3 的记录添加到 ModuleComponents 表。

合并模块 ICE 参考