ICEM02
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 資料表中指定。 如果 OtherModule。目前模組需要GUID3 ,請將資料列的前兩個數據行取代為 ModuleSignature 資料表中的資料。 如果 OtherModule。此課程模組不需要GUID3 ,請刪除此資料列。
合併模組 ICE 會張貼第二個錯誤,因為模組無法指定本身的相依性。
合併模組 ICE 會張貼第三個錯誤,因為 ModuleExclusion 資料表中的第一個資料列未指定 ModuleSignature 資料表中所指定目前模組的必要排除專案。 模組的排除專案只能在自己的 ModuleExclusion 資料表中指定。 如果目前的模組排除 OtherModule。GUID3,以 ModuleSignature 資料表中的資料取代資料列的前兩個數據行。 如果目前的模組未排除 OtherModule。GUID3,刪除此資料列。
合併模組 ICE 會張貼第四個錯誤,因為模組無法指定它排除本身。