最近发现自己建立的 Duplicate detection rules 在 publish 之后,会不定时地变成 unpublish 的状态,经过几次测试后,发现是每次将开发中版本更新到测试的 site 上的时候就会变成 unpublish。必应了一下发现是每次 import 了更新的 solution 后,CRM 系统就会自动 unpublish 那些更新修改过的 Entity 的 Duplicate detection rules,当然 Entity 被删除的时候 rule 也随之删除, 若有新增的 Entity 需要重新添加相对应的 rule。
关于这个问题的解决方案,必应上看到有人写了 plugin 代码来解决,就是在 publishing all customization 的时候检测 unpublish 的 rule,然后将其 publish。由于我没有测试过行不行就不贴出来了,另外的方法就是每次 import 完的时候检查一下 rule 然后 publish 就行了。