【发布时间】:2014-02-28 20:14:01
【问题描述】:
我使用的是 CRM 4.0,当我尝试执行多个实体的检索时出现以下错误。
无法加载文件或程序集“System.Core,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”或其依赖项之一。系统找不到指定的文件。
我很确定引用的程序集是 microsoft.crm.sdktypeproxy,因为另一个 (microsoft.crm.sdk) 不会产生任何问题.
所以我去了服务器并在后者所在的每个位置添加了前者。无济于事。我需要该程序集,因为我将检索自定义实体的多个实例。
我将 DLL 复制到 CRMWeb\bin 和 Server\bin 以及我的插件注册工具目录和 IIS 中的一些地方。我该如何解决这个问题?!
【问题讨论】:
-
让我们看看整个堆栈跟踪。
-
复制后是否发出了 iis-reset?
-
@KonradViltersten 因为它是一个插件我很确定它将使用 .net 版本的 CRM 4.0 应用程序池执行,并且 CRM 4.0 不支持 .NET 4.0。
-
好的,我认为@GuidoPreite 找到了罪魁祸首(请随意将其复制到答案中,以便获得功劳。)CRM 4 插件在 Dynamics CRM 4 应用程序的上下文中运行。 Dynamics CRM 4 是一个 .NET 3.0 应用程序。因此,要在 Dynamics 4 中运行的插件必须以 .NET 3.0 兼容框架为目标,而 .NET 4 则不是。这就是您在 System.Core 上收到错误的原因 - 无法访问 System.Core 4.0。我不确定它在 CRM 4 SDK 中的确切位置,但这里有一篇来自 CRM 产品团队的帖子,其中明确指出插件应该针对 .NET 3.0:goo.gl/kD17GH。
-
@Nicknow 你是对的,但我还发现 CRM 4.0 rollup 18 引入了对 .net 4.0 的支持,我用链接添加了答案
标签: plugins dynamics-crm .net-assembly dynamics-crm-4