可否使用Plugin Registration Tool调试自定义Action消息触发的插件?
能否使用Plugin Registration Tool调试注册时Message为custom action(自定义操作)的插件?
完全可以,这类插件的调试逻辑和注册在Create、Update这类系统原生消息上的插件没有本质差异,只要配置正确,断点可以正常命中,以下是需要注意的配置和调试要点:
插件步骤配置要点
注册步骤时的配置参考如下:
- Message字段不要选通用的
customaction选项,必须选你自己创建的那个自定义操作对应的专属消息名,命名规则一般是「解决方案发布商前缀_你定义的Action名称」,比如new_SubmitOrder - Primary Entity字段根据你的Action配置选:如果Action是绑定到特定实体的就选对应实体,如果是全局无绑定的Action就选
none - 执行阶段(Pipeline Stage)不要选PreValidation,自定义操作的执行链路不会经过这个阶段,根据你的业务逻辑需要选PreOperation或者PostOperation即可
调试操作要点
- 本地部署Dynamics 365环境:把Debug模式编译出的插件dll和同目录生成的pdb文件放到服务器的插件部署目录,VS附加对应站点的
w3wp.exe进程就能正常下断点 - 在线Dynamics 365环境:先在Plugin Registration Tool里安装Plug-in Profiler,给你注册的自定义操作步骤开启Profiler,手动触发一次Action拿到profile日志,在VS里关联日志、对应版本的dll和pdb文件即可调试
- 调试时如果要取Action的输入输出参数,注意参数名和你在Action流程里定义的名称完全大小写敏感,写错就拿不到值,Action的流程配置参考如下:

最常见的踩坑问题
90%以上的人遇到自定义操作插件不触发、断点进不去的问题,都是因为注册步骤时选错了Message,选成了系统自带的通用customaction消息,而不是自己创建的具体Action对应的专属消息,把这个配置改对基本就能正常调试。
内容的提问来源于stack exchange,提问作者AjaV
相关产品推荐
相关产品推荐

