ICEM02
O ICEM02 verifica se todas as dependências e exclusões do módulo estão relacionadas ao módulo atual.
Os ICEs do módulo de mesclagem são armazenados em um arquivo .cub do módulo de mesclagem chamado Mergemod.cub e não no arquivo .cub que contém os ICEs usados para validação de pacote.
Result
O ICEM02 posta mensagens de erro caso o banco de dados do módulo tente especificar dependências ou exclusões que não estão relacionadas ao módulo atual. O ICEM02 posta uma mensagem de erro caso o banco de dados do módulo tente especificar o módulo atual como dependente ou como excluído por si mesmo.
Exemplo
O ICEM02 postaria as seguintes mensagens de erro para um módulo que contém as entradas de banco de dados mostradas abaixo.
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!
ModuleID | Idioma | Versão |
---|---|---|
MyModule.GUID1 | 1033 | 1.0 |
ModuleID | ModuleLanguage | RequiredID | RequiredLanguage | RequiredVersion |
---|---|---|---|---|
OtherModule.GUID2 | 1033 | OtherModule.GUID3 | 0 | 1.0 |
MyModule.GUID1 | 1033 | MyModule.GUID1 | 1033 | 1,2 |
Tabela ModuleExclusion (parcial)
ModuleID | ModuleLanguage | ExcludedID | ExcludedLanguage |
---|---|---|---|
OtherModule.GUID2 | 1033 | OtherModule.GUID3 | 0 |
MyModule.GUID1 | 1033 | MyModule.GUID1 | 1033 |
O módulo de mesclagem ICE posta o primeiro erro devido à primeira linha na Tabela ModuleDependency, que não especifica uma dependência necessária para o módulo atual especificado na Tabela ModuleSignature. As dependências de um módulo só podem ser especificadas em sua própria Tabela ModuleDependency. Se OtherModule.GUID3 é exigido pelo módulo atual, substitua as duas primeiras colunas da linha pelos dados da Tabela ModuleSignature. Se OtherModule.GUID3 não é exigido por este módulo, exclua essa linha.
O módulo de mesclagem ICE posta o segundo erro porque um módulo não pode especificar uma dependência em si mesmo.
O módulo de mesclagem ICE posta o terceiro erro devido à primeira linha na Tabela ModuleExclusion, que não especifica uma exclusão necessária para o módulo atual especificado na Tabela ModuleSignature. As exclusões de um módulo só podem ser especificadas em sua própria Tabela ModuleExclusion. Se o módulo atual exclui OtherModule.GUID3, substitua as duas primeiras colunas da linha pelos dados da Tabela ModuleSignature. Se o módulo atual não excluir OtherModule.GUID3, exclua essa linha.
O módulo de mesclagem ICE posta o quarto erro porque um módulo não pode especificar que ele se exclua.
Tópicos relacionados