Поделиться через


ICEM02

ICEM02 проверяет, связаны ли все зависимости и исключения модуля с текущим модулем.

IcE модуля слияния хранятся в CUB-файле модуля слияния с именем Mergemod.cub, а не в файле CUB, содержавом ICE, используемых для проверки пакета.

Результат

ICEM02 публикует сообщения об ошибках, если база данных модуля пытается указать зависимости или исключения, которые не связаны с текущим модулем. ICEM02 отправляет сообщение об ошибке, если база данных модуля пытается указать текущий модуль как зависимый или исключенный сам по себе.

Пример

ICEM02 будет публиковать следующие сообщения об ошибках для модуля, содержащего записи базы данных, показанные ниже.

The dependency OtherModule.GUID2.1033.OtherModule.GUID3.0 in the 
ModuleDependency table creates a dependency for an unrelated module. A 
module can only define dependencies for itself

This module is listed as depending on itself!

The exclusion OtherModule.GUID2.1033.OtherModule.GUID3.0 in the 
ModuleExclusion table creates an excluded module for an unrelated 
module. A module can only define exclusions for itself.

This module excludes itself from the target database!

Таблица ModuleSignature

ModuleID Язык Версия
MyModule. GUID1 1033 1,0

 

Таблица ModuleDependency

ModuleID ModuleLanguage RequiredID RequiredLanguage RequiredVersion
OtherModule. GUID2 1033 OtherModule. GUID3 0 1.0
MyModule. GUID1 1033 MyModule. GUID1 1033 1,2

 

Таблица ModuleExclusion (частичная)

ModuleID ModuleLanguage ExcludedID ExcludedLanguage
OtherModule. GUID2 1033 OtherModule. GUID3 0
MyModule. GUID1 1033 MyModule. GUID1 1033

 

Модуль слияния ICE публикует первую ошибку из-за первой строки в таблице ModuleDependency, которая не указывает требуемую зависимость для текущего модуля, указанного в таблице ModuleSignature. Зависимости модуля можно указать только в собственной таблице ModuleDependency. If OtherModule. Guid3 требуется текущему модулю. Замените первые два столбца строки данными из таблицы ModuleSignature. If OtherModule. Guid3 не требуется для этого модуля, удалите эту строку.

Модуль слияния ICE публикует вторую ошибку, так как модуль не может указать зависимость от себя.

Модуль слияния ICE публикует третью ошибку из-за первой строки в таблице ModuleExclusion, в которой не указано обязательное исключение для текущего модуля, указанного в таблице ModuleSignature. Исключения модуля можно указать только в собственной таблице ModuleExclusion. Значение , если текущий модуль исключает OtherModule. GUID3. Замените первые два столбца строки данными из таблицы ModuleSignature. Значение , если текущий модуль не исключает OtherModule. GUID3, удалите эту строку.

Модуль слияния ICE публикует четвертую ошибку, так как модуль не может указать, что он исключает себя.

Справочник по ICE модуля слияния