插件,工作流和支持程序集的装配路径

时间:2012-01-03 14:45:29

标签: dynamics-crm dynamics-crm-2011

因此,自从使用MS CRM以来,我不时收到此错误消息。

  

System.IO.FileNotFoundException:Microsoft Dynamics CRM具有   遇到了错误。管理员或支持的参考编号:#C0916659

由于DLL存在多个位置,因此维护起来很困难。

这是我目前所知道的。

CRM SERVER
c:\ Program Files \ Microsoft Dynamics CRM \ Server \ bin - ?
c:\ Program Files \ Microsoft Dynamics CRM \ Server \ bin \ Assembly - 插件
c:\ Program Files \ Microsoft Dynamics CRM \ Server \ CRMWeb \ bin - 支持插件的DLL

ASYNC服务器
c:\ Program Files \ Microsoft Dynamics CRM \ Server \ bin \ Assembly - 异步工作流程和插件

我还缺少或需要纠正这些路径如何运作及其预期目的。

1 个答案:

答案 0 :(得分:3)

最佳做法是将程序集注册到数据库。

  

未在沙箱中注册的插件可以存储在Microsoft中   Dynamics CRM服务器的数据库或磁盘上的文件系统。 我们强烈   建议您将生产就绪的插件存储在   Microsoft Dynamics CRM数据库,而不是磁盘上。存储插件   在数据库中自动分布在多个数据库中   数据中心群集中的Microsoft Dynamics CRM服务器。磁盘上   插件的存储对于使用Microsoft调试插件很有用   Visual Studio但主要是为了向后兼容而提供的   标注。您可以调试存储在数据库中的插件。

     

在沙箱中注册的插件必须存储在数据库中   无论Microsoft Dynamics CRM部署(内部部署,   IFD / SPLA,或在线)。

MSDN的摘录描述了注册的可能性和路径。

  

适用于内部部署或面向Internet的Microsoft Dynamics CRM   安装时,将插件从另一台计算机部署到   Microsoft Dynamics CRM服务器磁盘(磁盘部署),即插件   必须在注册前手动将程序集复制到服务器。   程序集必须部署到\ Program   每个服务器上的Files \ Microsoft CRM \ server \ bin \ assembly文件夹   插件是要执行的。

     

插件注册应在复制程序集后完成   到服务器上的... \ bin \ assembly文件夹以防止出现这种情况   系统用户在Microsoft Dynamics CRM中导致事件的位置   提出但注册的插件组件尚不存在   服务器。对于服务器数据库部署,插件程序集是   在插件注册期间自动复制以便更早   情况不是问题。

     

根据插件的设计,您的插件可能需要其他插件   引用要运行的程序集。无论你是否部署了你的   插件到数据库或磁盘,如果您的插件需要其他插件   要运行的程序集,必须将这些程序集的副本放在   插件所在的每台服务器上的全局程序集缓存(GAC)   执行。这不适用于Microsoft Dynamics CRM Online服务器   因为您无权访问该服务器上的GAC。

请参阅Register and Deploy Plug-ins