Microsoft Dynamics CRM 2011工作流插件是否与CRM 2016兼容

时间:2016-03-24 03:48:10

标签: dynamics-crm

我们正在测试从当前crm 2011系统到2016的升级过程。我们所有的插件似乎都按预期工作而无需重新编译。所有这些都已经注册并存储在数据库中。插件和工作流程组件引用了一个使用CRM 2011 sdk引用构建的自定义库。该库已部署到crm 2016服务器。当我们运行在其中一个步骤中执行自定义活动的工作流时,我们会收到以下错误:

  

无法加载文件或程序集'Microsoft.Crm.Workflow,   Version = 5.0.0.0'或其依赖项之一。定位组件   清单定义与程序集引用不匹配。 (例外   来自HRESULT:0x80131040)

我知道错误消息表明它依赖于Microsoft.Crm.Workflow版本5,并且当前可用的dll是版本8.我不明白为什么插件成功执行而自定义工作流活动没有。我是否需要使用2016年的新dll参考重建我的插件程序集?

感谢

1 个答案:

答案 0 :(得分:1)

简短的回答是,您很可能只需要针对最新的CRM 2016 SDK程序集重新编译(并随后重新注册)工作流项目。

据我所知,您正在扩展的插件和工作流程执行方法没有兼容性或签名更改。这可以解释为什么在注册新系统时没有出现任何错误。

猜测你为什么会得到错误(我不能确定原因是什么,但也许是这样):

  • 我想2011版SDK DLL定义了你正在扩展的工作流程执行方法是在后台加载其他CRM系统DLL,这些DLL不再存在或已被更新版本替换,但不具备相同的兼容性。换句话说 - 您正在编译的方法的签名是相同的并且与CRM 2016兼容,但是它的依赖性(可能在运行时加载)不再有效。
  • 如果您使用的是在GAC中注册的库,如果此库是针对2011 DLL编译的,请根据2016版本重新编译它,然后在服务器上重新注册它。