You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跨DLL/项目定义的Resource Plugin无法被MORYX识别的解决方法问询

让MORYX识别跨程序集策略实现的方法

MORYX默认只会扫描标记了DependencyRegistration的当前程序集,所以其他项目中的插件实现无法被自动发现,你可以通过以下步骤解决:

  • 给自定义策略所在程序集添加DependencyRegistration标记
    每个包含插件的程序集都需要显式告知MORYX进行扫描。在你的SpecificImplementation所在的项目中,添加一个空的安装类并标记特性:

    [DependencyRegistration(InstallerMode.All)]
    public class SpecificStrategyInstaller
    {
        // 无需编写额外逻辑,特性即可触发程序集扫描
    }
    

    这个类的作用是让MORYX识别到该程序集需要被解析,从而找到里面标记了Plugin的SpecificImplementation。

  • 确保自定义程序集被正确加载

    • 若通过NuGet引用,检查项目属性的“生成”设置,将该程序集的“复制本地”设为True,确保编译时复制到主程序输出目录。
    • 手动部署时,将该程序集及其依赖文件放到主程序的运行目录下。
  • 验证插件注册状态
    可以在应用启动时通过IPluginManager检查已注册的插件,确认自定义策略是否被识别:

    var pluginManager = container.Resolve<IPluginManager>();
    var registeredStrategies = pluginManager.GetPlugins<IStrategy>();
    
    foreach (var strategy in registeredStrategies)
    {
        Console.WriteLine($"已注册策略:{strategy.Name}");
    }
    

内容的提问来源于stack exchange,提问作者André Niggemann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 20:30:19