编译指导 - Natsukage/PostNamazu GitHub Wiki

自行编译

项目中并未包含全部引用文件,因此直接clone后在本地打开后会提示找不到引用的文件。

需要引用的外部内容共有ACT主程序、解析插件、Triggernometry、OverlayPlugin与GreyMagic。

  • .\Lib\Advanced Combat Tracker.exe
  • .\Lib\FFXIV_ACT_Plugin.dll
  • .\Lib\SDK\FFXIV_ACT_Plugin.Common.dll
  • .\Lib\SDK\OverlayPlugin.Common.dll
  • .\Lib\SDK\OverlayPlugin.Core.dll
  • .\Lib\Triggernometry.dll
  • .\PostNamazu\Costura64\GreyMagic.dll

共计以上7个文件,除GreyMagic.dll外,其余均需手动引用。

如果你没有现成的可引用项目,可以直接点击这里下载引用包,并将其中的文件解压至项目的根目录(和PostNamazu.sln同一目录下)下的Lib文件夹中(默认没有这个文件夹,需要自行新建)。然后打开PostNamazu.sln文件载入项目。在编译时,Visual Studio应该会自动恢复项目中所使用的nuget包。

需要注意的是,解析插件的2个文件均需引用国服ACT修改后(或上面的Lib包内自带)的解析插件(PublicToken=null)。直接引用国际服的已经经过强签名后的解析插件所编译出的鲶鱼精邮差虽然可以配合国际服的解析插件正常工作,但是无法在国服ACT环境下运行(会报需要强签名的错误)。

邮差对于上述插件的引用主要是需要使用其中提供的结构类型或接口。在最终打包编译时,并不会将ACT的主程序、解析插件本体一起打包进程序中。上述的7个文件中,只有OverlayPlugin.Common.dll与GreyMagic.dll两个文件会被打包,其中OverlayPlugin.Common.dll提供了将插件注册为OverlayPlugin的插件所必须的结构信息,GreyMagic.dll提供了内存操作等功能。

根据ACT使用的加载逻辑,只要邮差的加载顺序位于解析插件、OverlayPlugin与Triggernometry之后,那么邮差将会直接使用ACT已经加载的上述插件,因此并不需要特地保证邮差所引用的上述文件为最新版本。邮差并不依赖这些插件的具体功能,只需要其提供的接口格式,除非在后续版本中,这些插件本身的结构或接口发生了变化,才需要更新这些引用文件的版本来适配。

自动编译

可以通过Github Action,在每次对master分支commit后自动或手动编译对应版本的插件,详见dotnet-desktop.yml
编译出的dll文件和release发布的版本没有区别,可以和release版本一样直接使用。