ICEM02
O ICEM02 verifica se todas as dependências e exclusões do módulo estão relacionadas ao módulo atual.
As ICEs do módulo de mesclagem são armazenadas em um arquivo .cub do módulo de mesclagem chamado Mergemod.cub e não no arquivo .cub que contém as ICEs usadas para validação de pacote.
Resultado
O ICEM02 postará mensagens de erro se o banco de dados do módulo tentar especificar dependências ou exclusões que não se relacionam com o módulo atual. O ICEM02 postará uma mensagem de erro se o banco de dados do módulo tentar especificar o módulo atual como dependente ou 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 do | 0 | 1.0 |
MyModule.guid1 | 1033 | MyModule.guid1 | 1033 | 1.2 |
da tabela ModuleExclusion (parcial)
ModuleID | ModuleLanguage | ExcludedID | ExcludedLanguage |
---|---|---|---|
OtherModule.guid2 | 1033 | OtherModule.guid3 do | 0 |
MyModule.guid1 | 1033 | MyModule.guid1 | 1033 |
O módulo de mesclagem ICE posta o primeiro erro porque a 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 publica 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 excluir 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 publica o quarto erro porque um módulo não pode especificar que ele se exclua.
Tópicos relacionados