I wanted to report a severe compatibility issue with the latest update of AzuExtendedPlayerInventory. After updating the mod from version 2.6.1 to 2.6.2, BepInEx fails to load several other inventory-related mods (such as Backpacks, BowsBeforeHoes, Quick Stack, etc.) and throws a critical error during the patching phase.
The console shows the following error chain for multiple mods:
[Error : Unity Log] Failed patching ... System.InvalidCastException: Specified cast is not valid.
The stack trace specifically points to Mono.Cecil and APIManager:
at Mono.Cecil.MetadataBuilder.AddOverrides (Mono.Cecil.MethodDefinition method)
at Mono.Cecil.MetadataBuilder.AddMethod (Mono.Cecil.MethodDefinition method)
...
at APIManager.Patcher+AssemblyLoadInterceptor.Prefix (System.Byte[]& __result)
I confirmed the cause by rolling back AzuExtendedPlayerInventory to version 2.6.1. After the downgrade, the InvalidCastException completely disappeared, and all mods loaded perfectly. It seems the changes introduced in 2.6.2 break compatibility with older APIManager.Patcher implementations used by other modders.
Unfortunately, I cannot attach screenshots of the terminal startup here.
Thanks for all your hard work on these mods!
soundloverx
The same behavior can also be noticed with Jewelcrafting 2.0.11:
[Error : Unity Log] Failed patching ... System.InvalidCastException: Specified cast is not valid.
at Mono.Cecil.MetadataBuilder.AddOverrides (Mono.Cecil.MethodDefinition method) [0x00014] in <6034b380a22b41a596c9dc29d282c0a9>:0
at Mono.Cecil.MetadataBuilder.AddMethod (Mono.Cecil.MethodDefinition method) [0x000a5] in <6034b380a22b41a596c9dc29d282c0a9>:0
at Mono.Cecil.MetadataBuilder.AddMethods (Mono.Cecil.TypeDefinition type) [0x00013] in <6034b380a22b41a596c9dc29d282c0a9>:0
at Mono.Cecil.MetadataBuilder.AddType (Mono.Cecil.TypeDefinition type) [0x0009a] in <6034b380a22b41a596c9dc29d282c0a9>:0
at Mono.Cecil.MetadataBuilder.AddNestedTypes (Mono.Cecil.TypeDefinition type) [0x0001c] in <6034b380a22b41a596c9dc29d282c0a9>:0
at Mono.Cecil.MetadataBuilder.AddType (Mono.Cecil.TypeDefinition type) [0x000e5] in <6034b380a22b41a596c9dc29d282c0a9>:0
at Mono.Cecil.MetadataBuilder.AddTypes () [0x00018] in <6034b380a22b41a596c9dc29d282c0a9>:0
at Mono.Cecil.MetadataBuilder.BuildTypes () [0x00014] in <6034b380a22b41a596c9dc29d282c0a9>:0
at Mono.Cecil.MetadataBuilder.BuildModule () [0x0009f] in <6034b380a22b41a596c9dc29d282c0a9>:0
at Mono.Cecil.MetadataBuilder.BuildMetadata () [0x00000] in <6034b380a22b41a596c9dc29d282c0a9>:0
at Mono.Cecil.ModuleWriter+<>c.<BuildMetadata>b__2_0 (Mono.Cecil.MetadataBuilder builder, Mono.Cecil.MetadataReader _) [0x00000] in <6034b380a22b41a596c9dc29d282c0a9>:0
at Mono.Cecil.ModuleDefinition.Read[TItem,TRet] (TItem item, System.Func3[T1,T2,TResult] read) [0x00025] in <6034b380a22b41a596c9dc29d282c0a9>:0 at Mono.Cecil.ModuleWriter.BuildMetadata (Mono.Cecil.ModuleDefinition module, Mono.Cecil.MetadataBuilder metadata) [0x0000f] in <6034b380a22b41a596c9dc29d282c0a9>:0 at Mono.Cecil.ModuleWriter.Write (Mono.Cecil.ModuleDefinition module, Mono.Disposable1[T] stream, Mono.Cecil.WriterParameters parameters) [0x0010a] in <6034b380a22b41a596c9dc29d282c0a9>:0
at Mono.Cecil.ModuleWriter.WriteModule (Mono.Cecil.ModuleDefinition module, Mono.Disposable`1[T] stream, Mono.Cecil.WriterParameters parameters) [0x00002] in <6034b380a22b41a596c9dc29d282c0a9>:0
at Mono.Cecil.ModuleDefinition.Write (System.IO.Stream stream, Mono.Cecil.WriterParameters parameters) [0x00019] in <6034b380a22b41a596c9dc29d282c0a9>:0
at Mono.Cecil.AssemblyDefinition.Write (System.IO.Stream stream, Mono.Cecil.WriterParameters parameters) [0x00000] in <6034b380a22b41a596c9dc29d282c0a9>:0
at Mono.Cecil.AssemblyDefinition.Write (System.IO.Stream stream) [0x00007] in <6034b380a22b41a596c9dc29d282c0a9>:0
at APIManager.Patcher+AssemblyLoadInterceptor.Prefix (System.Byte[]& __0, System.Reflection.Assembly& __result) [0x0027c] in :0