因此,自从使用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 - 异步工作流程和插件
我还缺少或需要纠正这些路径如何运作及其预期目的。
答案 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。