Natsukage / PostNamazu

鲶鱼精邮差,最终幻想14 触发器拓展
360 stars 48 forks source link

绑定Triggemometry高级触发器时出错 #57

Closed MasterRuiJiang closed 6 months ago

MasterRuiJiang commented 6 months ago

[08:43:12] [A]TriggernometryProxy.ProxyPlugin 无法强制转换为 [B]TriggernometryProxy.ProxyPlugin。类型 A 源自“Triggernometry, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null”(在字节数组的上下文“LoadNeither”中)。类型 B 源自“Triggernometry, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null”(在上下文“LoadNeither”中的“G:\Program Files (x86)\FFcafe\ACT国服整合\CafeStore\Triggernometry.dll”位置处)。

尝试切换多个鲶鱼精版本和多个触发器版本均提示这个

Natsukage commented 6 months ago

怪怪的,trn这是又更新版本了吗 从日志上完全看不出来为什么会出现这种情况,以前遇到这种情况是因为使用了强签名版本的引用导致的,但是这里的完全看不出具体问题在哪 你能把你用的triggernometry.dll上传一下吗?我看看引用你的trn会不会也出现同样的问题。

MasterRuiJiang commented 6 months ago

Triggernometry_1_2_0_0.zip 我使用的是最新版本的触发器,麻烦大大了

Natsukage commented 6 months ago

PostNamazu.zip 原来是大版本更新了(完全不知道 你先试试看这个行不行

MasterRuiJiang commented 6 months ago

[13:21:42] 插件版本:1.3.2.9 [13:21:42] 绑定Triggernometry [13:21:42] [A]TriggernometryProxy.ProxyPlugin 无法强制转换为 [B]TriggernometryProxy.ProxyPlugin。类型 A 源自“Triggernometry, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null”(在字节数组的上下文“LoadNeither”中)。类型 B 源自“Triggernometry, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null”(在上下文“LoadNeither”中的“G:\Program Files (x86)\FFcafe\ACT国服整合\CafeStore\Triggernometry.dll”位置处)。 [13:21:42] 绑定OverlayPlugin [13:21:42] Getting Offsets...... [13:21:43] 已找到FFXIV进程 1420

大大你好,使用这个新的鲶鱼精后也是同样的报错信息

Natsukage commented 6 months ago

奇怪了,按照我这边测试的结果是正常的 image image

按理说,根据ACT的加载逻辑,如果一个插件已经被先加载,后加载的插件应该会直接引用前面已经被ACT加载过的插件。这也是为什么邮差的加载顺序需要设置在Trn和Overlay后面的原因。不论之前的Trn是什么版本,邮差加载的都应该是这个已经被ACT加载的Trn引用,这种错误提示是不太应该出现的。

你有没有试过调整插件的加载顺序,让邮差紧挨着Trn之后,确保中间没有其他插件可能影响加载?或者试试把有可能导致此影响的其他插件先禁用看看?

MasterRuiJiang commented 6 months ago

image image

我将除了解析插件,触发器和邮差外的所有插件都禁用并且让触发器和邮差相邻后,也仍然是出现这个问题

MasterRuiJiang commented 6 months ago

image

大大你好,问题好像是出在放插件的文件夹上,之前我是将触发器和邮差的dll文件放在act里的cafestore里,再加载,我现在把他俩单独放在另一个文件夹里就可以了,貌似是act锁定了这个文件夹的文件使其无法被编辑。现在已正常加载,感谢大大的答疑,麻烦你了

Natsukage commented 6 months ago

Cafestore里的插件可能有特殊的加载方式。 .NET 里,相同的程序集如果从两个不同的上下文加载,并且使用了不同的加载方法(如 Assembly.Load 与 Assembly.LoadFrom)也可能出现这种问题 我用cafe用得比较少,之前确实没考虑过这种可能,只是猜的233

按理说如果问题出在这里的话,那你应该不需要特地用上面的新的邮差文件,直接换回原来的正常release版本也应该能正常工作

MasterRuiJiang commented 6 months ago

好的!感谢大大的帮助!