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

升级FakeXrmEasy 2.1.2报XrmFakedContext无ExecutePluginWith定义问题咨询

报错原因

该报错是FakeXrmEasy 2.x版本的API破坏性变更导致的,并非遗漏依赖或配置错误。v1版本中挂载在XrmFakedContext下的ExecutePluginWith扩展方法,在v2版本中已经被重构移除。
v2版本对原有大一统的包结构做了拆分,插件测试相关的能力全部迁移到了独立包中,同时调整了插件执行的API设计。

修复步骤
  • 安装插件测试专属依赖包
    v2版本核心包FakeXrmEasy.Core不包含插件测试相关能力,需要额外安装和核心包版本完全一致的FakeXrmEasy.Plugins包(版本号必须为2.1.2,和你升级的核心包版本对齐,否则会出现版本兼容问题)。
  • 替换原有ExecutePluginWith调用逻辑
    v2版本采用链式构造器模式实现插件执行上下文配置,替代原有的ExecutePluginWith传参模式,对应写法示例:
    // ===== 原v1版本失效写法 =====
    // _fakedContext.ExecutePluginWith<MyTestPlugin>(
    //     "Create", 
    //     (int)PluginStage.PreOperation, 
    //     (int)SdkMessageProcessingStepMode.Synchronous, 
    //     targetEntity
    // );
    
    // ===== v2.1.2 适配写法 =====
    var pluginExecutionContext = _fakedContext.GetPluginContext<MyTestPlugin>();
    pluginExecutionContext
        .WithMessage("Create")
        .WithStage(PluginStage.PreOperation)
        .WithMode(SdkMessageProcessingStepMode.Synchronous)
        .WithTarget(targetEntity)
        .Execute();
    
    原有ExecutePluginWith支持的前置/后置镜像、自定义输入参数、插件配置等能力,都可以通过链式调用对应的WithPreImage()、WithPostImage()、WithInputParameter()、WithUnsecureConfiguration()方法实现,参数语义和v1版本完全一致。
排查提示

如果安装对应包之后仍然找不到相关方法,检查项目引用的所有FakeXrmEasy相关包版本是否完全统一,只要有一个相关包版本低于2.x,就会出现扩展方法无法识别的问题。


内容的提问来源于stack exchange,提问作者Bala Patel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 03:57:23