TundraWork / FFXIV_ACT_Plugin_CN

Modified version of FFXIV_ACT_Plugin to adapt Chinese version FFXIV client.
144 stars 10 forks source link

cactbot兼容性问题 #16

Open JohnZhang1810 opened 1 year ago

JohnZhang1810 commented 1 year ago

使用原版ACT 3.6.2.279配合2.23.9.1版本(6.40)解析插件时,cactbot无法加载,OverlayPlugin日志报错:

Error: LoadAddons: CactbotOverlay.dll: System.IO.FileLoadException: 未能加载文件或程序集“FFXIV_ACT_Plugin.Common, Version=2.2.0.5, Culture=neutral, PublicKeyToken=9f740ac505d6bc50”或它的某一个依赖项。需要强名称程序集。 (异常来自 HRESULT:0x80131044)
文件名:“FFXIV_ACT_Plugin.Common, Version=2.2.0.5, Culture=neutral, PublicKeyToken=9f740ac505d6bc50” ---> System.IO.FileLoadException: 需要强名称程序集。 (异常来自 HRESULT:0x80131044)
   在 Cactbot.FFXIVPlugin.RegisterProcessChangedHandler(Action`1 handler)
   在 Cactbot.CactbotEventSource.Start()
   在 RainbowMage.OverlayPlugin.Registry.StartEventSource[T](T source)
   在 RainbowMage.OverlayPlugin.PluginMain.LoadAddons()

所有插件版本皆为当前时间最新,尝试过使用CafeACT和呆萌ACT中的解析插件载入原版ACT,都无法使用。

sandtechnology commented 1 year ago

此问题为.net构建有修改默认使用强签名导致,之前已有人处理并向上游提交了,但是未发布新版本:https://github.com/quisquous/cactbot/pull/5806 可以考虑自行构建或者使用我这个刚刚构建好的版本看看(更新了selfbuild2版本 之前的版本web版本替换错了) cactbot-0.29.25-selfbuild2.zip

JohnZhang1810 commented 1 year ago

此问题为.net构建有修改默认使用强签名导致,之前已有人处理并向上游提交了,但是未发布新版本:quisquous/cactbot#5806 可以考虑自行构建或者使用我这个刚刚构建好的版本看看(更新了selfbuild2版本 之前的版本web版本替换错了) cactbot-0.29.25-selfbuild2.zip

好的,麻烦了,我这边找个时间测测看

enderneko commented 1 year ago

此问题为.net构建有修改默认使用强签名导致,之前已有人处理并向上游提交了,但是未发布新版本:quisquous/cactbot#5806 可以考虑自行构建或者使用我这个刚刚构建好的版本看看(更新了selfbuild2版本 之前的版本web版本替换错了) cactbot-0.29.25-selfbuild2.zip

试了 cactbot 的 0.30.0、0.30.1、0.30.2 都依然不行,包括你构建的那个我也试了,是我的原版ACT有问题么?

[2023/10/9 21:33:14] Info: AssemblyResolver: Loaded: HtmlRenderer, Version=0.19.22.0, Culture=neutral, PublicKeyToken=null
[2023/10/9 21:33:14] Info: AssemblyResolver: Loaded: CefSharp, Version=95.7.141.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138
[2023/10/9 21:33:14] Info: InitPlugin: PluginDirectory = D:\Games\FINAL FANTASY XIV\ACT\Plugins\OverlayPlugin
[2023/10/9 21:33:14] Info: AssemblyResolver: Loaded: CefSharp.OffScreen, Version=95.7.141.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138
[2023/10/9 21:33:14] Info: AssemblyResolver: Loaded: CefSharp.Core, Version=95.7.141.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138
[2023/10/9 21:33:14] Info: AssemblyResolver: Loaded: CefSharp.Core.Runtime, Version=95.7.141.0, Culture=neutral, PublicKeyToken=40c4b6fc221f4138
[2023/10/9 21:33:15] Info: AssemblyResolver: Loaded: Fleck, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null
[2023/10/9 21:33:15] Info: InitPlugin: Initialised.
[2023/10/9 21:33:18] Info: cactbot: 0.30.2.0 D:\Games\FINAL FANTASY XIV\ACT\Plugins\cactbot\CactbotOverlay.dll (dir: D:\Games\FINAL FANTASY XIV\ACT\Plugins\cactbot)
[2023/10/9 21:33:18] Info: OverlayPlugin: 0.19.22.0 D:\Games\FINAL FANTASY XIV\ACT\Plugins\OverlayPlugin\OverlayPlugin.dll
[2023/10/9 21:33:18] Info: FFXIV Plugin: 2.6.9.3 D:\Games\FINAL FANTASY XIV\ACT\Plugins\FFXIV_ACT_Plugin.dll
[2023/10/9 21:33:18] Info: ACT: 3.6.1.277 D:\Games\FINAL FANTASY XIV\ACT\Advanced Combat Tracker.exe
[2023/10/9 21:33:18] Info: Parsing Plugin Language: cn
[2023/10/9 21:33:18] Info: System Locale: en-US
[2023/10/9 21:33:18] Info: cactbot user directory: D:\Games\FINAL FANTASY XIV\ACT\Plugins\cactbot\user
[2023/10/9 21:33:18] Info: Version: cn
[2023/10/9 21:33:18] Error: LoadAddons: CactbotOverlay.dll: System.IO.FileLoadException: Could not load file or assembly 'FFXIV_ACT_Plugin.Common, Version=2.2.0.5, Culture=neutral, PublicKeyToken=9f740ac505d6bc50' or one of its dependencies. A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)
File name: 'FFXIV_ACT_Plugin.Common, Version=2.2.0.5, Culture=neutral, PublicKeyToken=9f740ac505d6bc50' ---> System.IO.FileLoadException: A strongly-named assembly is required. (Exception from HRESULT: 0x80131044)
   at Cactbot.FFXIVPlugin.RegisterProcessChangedHandler(Action`1 handler)
   at Cactbot.CactbotEventSource.Start()
   at RainbowMage.OverlayPlugin.Registry.StartEventSource[T](T source)
   at RainbowMage.OverlayPlugin.PluginMain.LoadAddons()

在 0.30.0 的更新记录中确实提到了

plugin: disable strong name req for FFXIV_ACT_Plugin.Common by @Echoring in https://github.com/quisquous/cactbot/pull/5806
TundraWork commented 1 year ago

在 0.30.0 的更新记录中确实提到了

plugin: disable strong name req for FFXIV_ACT_Plugin.Common by @Echoring in https://github.com/quisquous/cactbot/pull/5806

Seems like the fix on their end didn't actually work. Will look into it later.

za10087logo commented 1 month ago

请问这个问题有办法解决吗,更新7.0之后还是无法兼容catbot

sandtechnology commented 1 month ago

请问这个问题有办法解决吗,更新7.0之后还是无法兼容catbot

简单测试了一下,除非上游 cactbot 在编译时对 FFXIV_ACT_Plugin.Common 使用不带强签名的依赖或者对编译出来的 CactbotEventSource.dll 中 FFXIV_ACT_Plugin.Common 的引用去除强签名之外,没有其他方法可以解决此问题。 这是一个去除强签名引用的可作为临时使用的 CactbotEventSource.dll,可做替换测试 (对应 commit https://github.com/OverlayPlugin/cactbot/commit/b284810b05f9d5587a8e32ecf1c1eaa7db7fbe89

CactbotEventSource.zip