ICEM02 會確認所有模組相依性和排除專案都與目前的模組相關。
合併模組 ICE 會儲存在名為 Mergemod.cub 的合併模組 .cub 檔案中,而不是儲存在包含封裝驗證所用之 ICE 的 .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!
| ModuleID | 語言 | 版本 |
|---|---|---|
| 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 |
ModuleExclusion 資料表 (部分)
| ModuleID | ModuleLanguage | ExcludedID | ExcludedLanguage |
|---|---|---|---|
| OtherModule。GUID2 | 1033 | OtherModule。GUID3 | 0 |
| MyModule。GUID1 | 1033 | MyModule。GUID1 | 1033 |
合併模組 ICE 會張貼第一個錯誤,因為 ModuleDependency 數據表中第一個數據列的 ,這不會為 ModuleSignature 數據表中指定的目前模組指定必要的相依性。 模組的相依性只能在自己的ModuleDependency數據表中指定。 If OtherModule.目前模組需要GUID3,請將數據列的前兩個數據行取代為 ModuleSignature 數據表中的數據。 If OtherModule.此模組不需要GUID3,請刪除此資料列。
合併模組 ICE 會張貼第二個錯誤,因為模組無法指定本身的相依性。
合併模組 ICE 會張貼第三個錯誤,因為 ModuleExclusion 數據表中的第一個數據列,這不會為 ModuleSignature 數據表中指定的目前模組指定必要的排除。 模組的排除只能指定在其自己的ModuleExclusion數據表中。 如果目前的模組排除 OtherModule。GUID3,將數據列的前兩個數據行取代為 ModuleSignature 資料表中的數據。 如果目前的模組未排除 OtherModule。GUID3刪除此資料列。
合併模組 ICE 會張貼第四個錯誤,因為模組無法指定其排除本身。
相關主題