다음을 통해 공유


ICEM02

ICEM02는 모든 모듈 종속성 및 제외가 현재 모듈과 관련되어 있는지 확인합니다.

병합 모듈 ICE는 패키지 유효성 검사에 사용되는 ICE를 포함하는 .cub 파일이 아니라 Mergemod.cub라는 병합 모듈 .cub 파일에 저장됩니다.

결과

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

 

Merge 모듈 ICE는 ModuleDependency 테이블의 첫 번째 행 때문에 첫 번째 오류를 게시합니다. 이 행은 ModuleSignature 테이블에 지정된 현재 모듈에 필요한 종속성을 지정하지 않습니다. 모듈의 종속성은 자체 ModuleDependency 테이블에서만 지정할 수 있습니다. OtherModule인 경우 현재 모듈에서 GUID3필요한 행의 처음 두 열을 ModuleSignature 테이블의 데이터로 바꿉니다. OtherModule인 경우 이 모듈에서는 GUID3필요하지 이 행을 삭제합니다.

모듈 자체에 대한 종속성을 지정할 수 없기 때문에 병합 모듈 ICE는 두 번째 오류를 게시합니다.

병합 모듈 ICE는 ModuleSignature 테이블에 지정된 현재 모듈에 대한 필수 제외를 지정하지 않는 ModuleExclusion 테이블의 첫 번째 행 때문에 세 번째 오류를 게시합니다. 모듈 제외는 자체 ModuleExclusion 테이블에서만 지정할 수 있습니다. 현재 모듈에서 OtherModule을 제외하는 경우 GUID3행의 처음 두 열을 ModuleSignature 테이블의 데이터로 바꿉니다. 현재 모듈에서 OtherModule을 제외하지 않는 경우 GUID3이 행을 삭제합니다.

모듈이 자신을 제외할 것을 지정할 수 없기 때문에 병합 모듈 ICE는 네 번째 오류를 게시합니다.

모듈 ICE 참조 병합