用于修补、更换和装饰的图书馆。NET和Mono方法在运行时。旨在确保玩家模组列表中的所有模组都使用最新版本的Harmony,以尽量减少冲突。我们还添加了调试UI!可获得的
笔记这是
和谐创建库是为了更容易地管理外部库依赖关系。
该 mod 的仓库 -
领主和谐.
Bannerlord.Lib.Harmony 模组制作者公告原来的
和谐图书馆现已全面
支持NetStandard2.0,所以我们又恢复了。我们的
叉该库现已被弃用。
安装此模块应按加载顺序置于最高位置。任何其他需要置于顶部的模块(例如 Better Exception Window、ButterLib、MCM 等)都应在此模块之后加载。
对于玩家
此模组旨在确保玩家模组列表中的所有模组都使用最新版本的 Harmony,以最大限度地减少冲突。
对于模组制作者我们添加了调试 UI!可通过 CTRL+ALT+H 使用。您仍然需要将 Harmony 作为 NuGet 包引用,不需要在模块的最终 /bin 输出中包含 0Harmony.dll。
你需要将它添加到你的
子模块.xml
这样,游戏将确保在您的 mod 之前加载 Harmony 库。
版本控制
Module 包含所使用的 Harmony 版本和发布该 Module 的 Build Id。Build Id 只需添加到末尾即可。
2.0.2.22 表示使用 Harmony 2.0.2.0,22 是 Build Id。
2.0.0.1025 表示使用 Harmony 2.0.0.10,25 是 Build Id。
我们考虑过使用 Rimworld 的方法并引入我们自己的版本系统,但这无法提供清晰的方法来检测模块包含的 Harmony 版本。对于用户来说,报告所用模块的版本比检查程序集版本并发送版本更方便。
故障排除* 解压存档文件时遇到问题?请通过 Vortex 安装,或下载
7-zip.
请勿使用 Windows 应用商店中的任何内容.
我们还添加了一篇关于如何安装和使用 7-zip!* 如果游戏启动时崩溃,很可能是您正在使用或曾经使用过 Fixed Launcher。安装后,它会复制 0Harmony.dll,从而阻止 Bannerlord.Harmony 运行。
* 如果 Fixed Launcher 被卸载或从未安装,请检查以下文件是否不在游戏的主 /bin 文件夹中(Mount & Blade II
Bannerlord\bin\Win64_Shipping_Client)
- TaleWorlds.MountAndBlade.Launcher.exe.config
-0Harmony.dll
- LauncherPatcher.dll
- LauncherPatcher.pdb
关于Harmony 为您提供了一种优雅且高级的方式来修改用 C# 编写的应用程序的功能。它在游戏中表现出色,并且在以下游戏中得到了广泛的认可:
《七日杀》、《战斗科技》、《围攻》、《城市:天际线》、《坎巴拉太空计划》、《缺氧》、《拉文菲尔德》、《边缘世界》、《庇护所》、《星露谷物语》、《深海迷航》、《终极游戏》、《矿工》、《未转变者》等等。
它还用于 WFP 控制的单元测试和许多其他领域。
工作原理如果您使用 C# 进行开发,并且代码作为模块/插件加载到宿主应用程序中,则可以使用 Harmony 修改该应用程序所有可用程序集的功能。其他补丁库仅允许您替换原始方法,而 Harmony 更进一步,为您提供:
• 保持原始方法不变的方法
• 在原始方法之前和/或之后执行代码
• 用 IL 代码修改原始处理器
• 多个 Harmony 补丁共存且不会相互冲突
• 在运行时工作,不触及任何文件
文档请查看
文档.
贡献帕德克为这个项目及其支持投入了数千小时。因此,每一个小行动都有助于:
• 点赞此内容
stackoverflow 答案• 在开发者社区中传播
• 成为
GitHub 赞助商或
Patreon该项目采用了
MonoMod.Common图书馆
0x0ade.