Plugins System.IO.FileNotFoundException:无法加载文件或程序集';Microsoft.Xrm.Client

Plugins System.IO.FileNotFoundException:无法加载文件或程序集';Microsoft.Xrm.Client,plugins,workflow,dynamics-crm-2011,crm,Plugins,Workflow,Dynamics Crm 2011,Crm,我已经被这个例外情况困扰了两天了。 我正在使用MS CRM 2011,在尝试注册CRM自定义worklow活动程序集时遇到此异常 1.通过pluginregistrator工具, 2.或者,当我在VisualStudio中通过包项目部署插件时,在它运行工作流之后,它会在给出此表达式的详细信息页面中以等待状态停止。以下是详细的例外情况: 工作流因错误而暂停:未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.Xrm.Client,

我已经被这个例外情况困扰了两天了。 我正在使用MS CRM 2011,在尝试注册CRM自定义worklow活动程序集时遇到此异常 1.通过pluginregistrator工具, 2.或者,当我在VisualStudio中通过包项目部署插件时,在它运行工作流之后,它会在给出此表达式的详细信息页面中以等待状态停止。以下是详细的例外情况:

工作流因错误而暂停:未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.Xrm.Client,Version=5.0.9688.1154,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。系统找不到指定的文件。 位于亚美尼亚软件.Crm.Spayka.ArmsoftIntegration.Workflows.CreateWorksByPlan.Execute(CodeActivityContext executionContext) 位于System.Activities.CodeActivity.InternalExecute(ActivityInstance实例、ActivityExecutor执行器、BookmarkManager书签管理器) 位于System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor,BookmarkManager BookmarkManager,Location resultLocation)

我正在文件系统上注册程序集,我已将所有需要的程序集加载到文件夹%system root%\C$\Program Files\Microsoft Dynamics CRM\Server\bin\assembly中。这个工作流工作了一段时间,但在我不知道发生了什么之后,下一次部署程序集时,我在执行工作流时遇到了这个异常。这已经是我第三次遇到这个问题了,我花了好几个小时尝试做不同的事情(IIS重置、异步服务重新启动、重新加载所有程序集并重新部署),几个小时后,工作流程以一种神秘的方式开始工作。在这工作了一段时间之后,在一些重新部署之后再次崩溃。我无法确定解决问题的具体步骤,因此我总是花几个小时寻找异常源,但毫无意义。 我在网上浏览了一些帖子,但没有一条是我的案例(它们在这里,,) 有人遇到过这个问题吗?这个例外的原因是什么??
提前谢谢

我在我的案例中发现了问题

我注意到的第一件事是,在例外情况下,所需的Microsoft.Xrm.Client程序集版本是5.0.9688.1154,但在我的项目中,我提到了5.0.9689.1985版本的程序集

接下来是OpenILDASM工具,看看它引用了什么,我打开了我的自定义工作流程序集,发现我有两个对Microsoft.Xrm.Client的引用, 第一个版本为5.0.9688.1154,第二个版本为5.0.9689.1985

出现了一个问题:“如果我引用了一个程序集,wich的版本是5.0.9689.1985,为什么会有这个程序集的另一个版本?”。答案肯定是,我有另一个引用的程序集,它引用了版本为5.0.9688.1154的Microsoft.Xrm.Client程序集。我已经浏览了我在项目中引用的程序集。明白了!在我的项目中,我已将SDK组件更新为较新版本,但我还有生成的CRM组织代理类程序集,该程序集引用了Microsoft.Xrm.Client,并且我尚未将此引用更新为较新版本的CRM SDK。因此,我的自定义工作流程序集也需要此版本。我将代理dll的引用更改为新版本,一切正常! 如果您正在阅读本文,并且没有代理程序集,请检查您的其他程序集,如果它们都引用了相同版本的CRM SDK,如果没有,请更正它们

问候


Gagik Kyurkchyan

我已经发现了问题,但我在8小时内无法回答我的问题(因为评分较低),我将在明天写详细的描述!