Udostępnij za pośrednictwem


ICEM02

ICEM02 sprawdza, czy wszystkie zależności i wykluczenia modułu są powiązane z bieżącym modułem.

Pliki ICE modułu scalania są przechowywane w pliku cub modułu scalania o nazwie Mergemod.cub, a nie w pliku cub zawierającym ICE używane do weryfikacji pakietu.

Wynik

ICEM02 publikuje komunikaty o błędach, jeśli baza danych modułu próbuje określić zależności lub wykluczenia, które nie odnoszą się do bieżącego modułu. ICEM02 publikuje komunikat o błędzie, jeśli baza danych modułu próbuje określić bieżący moduł jako zależny lub jako wykluczony przez siebie.

Przykład

ICEM02 opublikuje następujące komunikaty o błędach dla modułu zawierającego wpisy bazy danych pokazane poniżej.

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

Identyfikator modułu Język Wersja
MyModule.GUID1 1033 1.0

 

ModuleDependency Table

Identyfikator modułu ModuleLanguage RequiredID RequiredLanguage RequiredVersion
OtherModule.GUID2 1033 OtherModule.GUID3 0 1.0
MyModule.GUID1 1033 MyModule.GUID1 1033 1.2

 

ModuleExclusion Table (częściowe)

Identyfikator modułu ModuleLanguage Identyfikator wykluczony ExcludedLanguage
OtherModule.GUID2 1033 OtherModule.GUID3 0
MyModule.GUID1 1033 MyModule.GUID1 1033

 

Moduł scalania ICE publikuje pierwszy błąd z powodu pierwszego wiersza w tabeli ModuleDependency, który nie określa wymaganej zależności dla bieżącego modułu określonego w tabeli ModuleSignature. Zależności modułu można określić tylko w własnej tabeli ModuleDependency. Jeśli moduł OtherModule.identyfikator GUID3 jest wymagany przez bieżący moduł, zastąp dwie pierwsze kolumny wiersza danymi z tabeli ModuleSignature. Jeśli moduł OtherModule.identyfikator GUID3 nie jest wymagany przez ten moduł, usuń ten wiersz.

Moduł scalania ICE publikuje drugi błąd, ponieważ moduł nie może określić zależności od siebie.

Moduł scalania ICE publikuje trzeci błąd z powodu pierwszego wiersza w tabeli ModuleExclusion, który nie określa wymaganego wykluczenia dla bieżącego modułu określonego w tabeli ModuleSignature. Wykluczenia modułu można określić tylko w własnej tabeli ModuleExclusion. Jeśli bieżący moduł nie obejmuje modułu OtherModule.identyfikator GUID3, zastąp dwie pierwsze kolumny wiersza danymi z tabeli ModuleSignature. Jeśli bieżący moduł nie wyklucza modułu OtherModule.guiD3, usuń ten wiersz.

Moduł scalania ICE publikuje czwarty błąd, ponieważ moduł nie może określić, że sam go wykluczy.

scalanie modułu ICE — dokumentacja