第三方DXTools插件PreValidateNoteCreate功能及迁移替代咨询
第三方PreValidateNoteCreate插件分析及云环境替代方案
一、排查插件具体执行逻辑的方法
- 开启插件跟踪日志:在本地Dynamics 365 On-Prem 8.2环境中,通过部署管理器启用插件跟踪日志,设置过滤条件仅针对
dxtools.basesolutions.plugins程序集和PreValidateNoteCreate步骤。触发Note创建操作后,通过高级查找检索插件跟踪日志记录,日志中会包含执行上下文、输入参数等信息,可反推插件的验证或处理逻辑。 - 反编译插件程序集:从部署管理器的插件库导出
dxtools.basesolutions.plugins.dll文件,使用dnSpy、ILSpy等反编译工具打开,直接查看PreValidateNoteCreate类的代码逻辑(非强加密插件均可解析),这是最直接获取功能细节的方式。 - 对比插件启停后的行为差异:临时禁用该插件,分别在启用/禁用状态下执行Note创建操作,对比以下内容:
- 是否拦截特定条件的创建请求(如附件大小超限、关联实体不符合要求)
- Note字段是否有自动填充或格式化(如标题规则、描述补充)
- 创建流程是否有额外校验逻辑(如重复内容检查)
二、沙盒插件替代的可行性
只要明确原插件的核心逻辑,完全可以用沙盒插件实现替代:
- 沙盒插件支持PreValidate阶段的Note创建拦截与处理,匹配原插件的执行时机
- 云环境沙盒插件具备足够权限处理Note实体的常规验证操作(字段校验、关联关系检查等)
- 若原插件依赖本地专属资源(如本地文件系统、内网数据库),需将这部分逻辑调整为云原生方案(如Azure Blob存储、Dynamics 365内置存储)
三、迁移关键注意事项
- 反编译时需确认插件是否依赖本地部署的特定配置(如注册表项、本地服务),这类逻辑无法直接迁移到云环境,需重新设计
- 替代插件开发完成后,需在云环境沙盒实例中覆盖原插件的所有场景测试,确保行为完全一致
- 正式迁移前,先在云环境部署替代插件并验证,无误后再停用原第三方插件
内容的提问来源于stack exchange,提问作者Lannie Jamie
相关产品推荐
相关产品推荐

