Dela via


ICEM02

ICEM02 verifierar att alla modulberoenden och undantag är relaterade till den aktuella modulen.

Sammanslagningsmodulens ICE:er lagras i en .cub-fil för sammanslagningsmodulen med namnet Mergemod.cub och inte i .cub-filen som innehåller de ICEs som används för paketverifiering.

Resultat

ICEM02 skickar felmeddelanden om moduldatabasen försöker ange beroenden eller undantag som inte är relaterade till den aktuella modulen. ICEM02 skickar ett felmeddelande om moduldatabasen försöker ange den aktuella modulen som beroende eller exkluderad av sig själv.

Exempel

ICEM02 skulle publicera följande felmeddelanden för en modul som innehåller databasposterna som visas nedan.

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 Table

ModuleID Språk Version
MyModule.GUID1 1033 1.0

 

ModuleDependency Table

ModuleID ModuleLanguage RequiredID RequiredLanguage RequiredVersion
OtherModule.GUID2 1033 OtherModule.GUID3 0 1.0
MyModule.GUID1 1033 MyModule.GUID1 1033 1.2

 

ModuleExclusion Table (partiell)

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

 

Sammanslagningsmodulen ICE publicerar det första felet på grund av den första raden i tabellen ModuleDependency, som inte anger något nödvändigt beroende för den aktuella modulen som anges i tabellen ModuleSignature. Beroenden för en modul kan bara anges i en egen ModuleDependency-tabell. Om OtherModule.GUID3- krävs av den aktuella modulen ersätter du de två första kolumnerna i raden med data från tabellen ModuleSignature. Om OtherModule.GUID3 inte krävs av den här modulen tar du bort den här raden.

Sammanslagningsmodulen ICE publicerar det andra felet eftersom en modul inte kan ange ett beroende på sig själv.

Sammanslagningsmodulen ICE publicerar det tredje felet på grund av den första raden i tabellen ModuleExclusion, som inte anger ett obligatoriskt undantag för den aktuella modulen som anges i tabellen ModuleSignature. Undantagen för en modul kan bara anges i en egen ModuleExclusion-tabell. Om den aktuella modulen exkluderar OtherModule.GUID3ersätter du de två första kolumnerna i raden med data från tabellen ModuleSignature. Om den aktuella modulen inte exkluderar OtherModule.GUID3tar du bort den här raden.

Sammanslagningsmodulen ICE publicerar det fjärde felet eftersom en modul inte kan ange att den utesluter sig själv.

ICE-referens för sammanslagningsmodulen